私のテスト用にいくつかのユーザーを作成しようとしました。 Ruby on Rails用のcassandra-cql gemを使用して0..100000のループでユーザを作成した後、データベースのユーザ数をカウントしたところ、結果として10000人のユーザしかいませんでした。 9000を作成すると、すべて正常に動作します。最初はユーザーがいないと思っていましたが、私はCassandraのApollo WebUIを使用しました。id 100000のユーザーと、以下のユーザーが見つかりました。なぜこれが起こるのですか?cassandra-cqlでカウント(*)が間違っています
私はアプリケーションのユーザー数を提供するためにカウンタ列を使用する必要がありますが、これがバグか私の失敗かどうかを知りたいと思っています。
def self.create_users
(0..19000).each do |f|
@@db.execute("INSERT INTO users (uid, first_name, last_name, email) VALUES (?,?,?,?)", f.to_s, "first_name", "last_name", "email")
end
end
def self.count_users
count = @@db.execute("SELECT count(*) FROM users")
count.fetch do |c|
return c[0]
end
end
ありがとう! – user934801
こんにちは、ちょうど使用しているcassandraのバージョンを尋ねてもいいですか?私は 'select count(*) 'に関連する問題に直面していて、' limit'は完全に無視されているようです:http://stackoverflow.com/questions/36174805/cassandra-cql-select-count-with-limit – light
これは2012年1月の質問だったので、おそらくカッサンドラ1.0.Xでした。それ以来、CQLは完全にセマンティクスを持っています。 – psanford