Cassandraのチュートリアルに続いて、私が次のことを行うと言われました:プライマリキーのすべての値がインデックスに登録されていますか?
PRIMARY KEY(id, name)
idはパーティションキーであり、インデックスされています。名前はクラスタリング列であるため、インデックスも付けられます。しかし、私は次のクエリを実行できません
SELECT * FROM my_table WHERE id = 'id_abc' AND name = 'name_123'; // this works!
::私には、また、問い合わせを行うことができます
SELECT * FROM my_table WHERE id = 'id_abc'; //this works!
:
SELECT * FROM my_table WHERE name = 'name_123'; // this does not work
なぜこれが私のようなクエリを実行できることを意味しますクラスタリング列が索引付けされている場合、最後の文は機能しませんか?最初のクエリはなぜ機能し、2番目のクエリは機能しないのですか?
私は最後のクエリのために得るエラーは以下の通りです:事前に
InvalidRequest: code=2200 [Invalid query] message="Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING"
ありがとう!