1

複数のインデックス付き列に対してクエリを実行する場合、cassandra は複数のネイティブ セカンダリ インデックスを使用できますか?

http://www.datastax.com/dev/blog/whats-new-cassandra-07-secondary-indexesの正規の例を使用

生年月日と州の両方にインデックスを持つ users 列ファミリを想定すると、次のようになります。

create column family users with comparator=UTF8Type
  and column_metadata=[{column_name: full_name, validation_class: UTF8Type},
  {column_name: birth_date, validation_class: LongType, index_type: KEYS},
  {column_name: state, validation_class: UTF8Type, index_type: KEYS}];

私がクエリするとき:

get users where state = 'UT' and birth_date = 1970;

カサンドラは両方のインデックスを使用して行をフェッチしますか?

Apache Cassandraの複合インデックスに基づいて、答えはノーのようです

4

1 に答える 1

2

あなたが与えるリンクは正しいです。Cassandraは最も選択的なインデックスを選択し、ネストされたループを使用して他の述語を評価します。

于 2012-06-29T17:05:58.053 に答える