2016-12-14 7 views
0

私はA deep look at the CQL WHERE clauseを読んでいます。私はいくつかのステートメントで混乱しているので、5つの質問を掲載しました(Q1 - Q5)。コメントは歓迎されます。 ありがとうカサンドラについてのいくつかの質問

1:Secondary index queriesは何を意味しますか? the query is using a secondary indexの意味は?

だと思います。secondary index queries == the query which is using a secondary indexです。

しかしSecondary index queriesは二次インデックスが が存在するか照会列がすべて索引付けされているか、またはすべての照会列 のうちの少なくとも1つの列が索引付けされたテーブルにクエリを意味?

単一列のスライス制限は、最後のクラスタリング列が制限されている場合にのみ許可されます。

Q2:単一列スライスの制限は、>, >=, <=, <を意味しますか?

セカンダリインデックスの直接クエリは、=、CONTAINS、またはCONTAINS KEY制約のみをサポートします。

Q3:インデックス付き列は、=、CONTAINS、および のみで制限できます。

CONTAINSおよびCONTAINS KEY制約は、クエリでセカンダリインデックスを使用している場合にのみ、コレクションで使用できます。

Q4:CONTAINSインデックスされていないクラスタリング列でも使用できますか?購入する 1つの列が二次索引の場合は この列の場合はcollectionsの場合はCONTAINSしか使用できません。

通常の列=で制限することができ、>、> =、< =と<クエリがセカンダリインデックスクエリの場合、KEY制約が含まれているか含まれています。 IN制限はサポートされていません。

Q5:Regular columnsとは何ですか?常にSingle column slice restrictions are allowed only on the last clustering column being restricted.。 1つの列が2次索引の場合は、最後のクラスタリング列でなくても=, >, >=, <= and <, CONTAINS or CONTAINS KEY restrictions (but not IN)をこの列の に制限できますか?

答えて

0

Q1:セカンダリインデックスは、すべて「CREATE INDEX」を使用する例です。

Q2:はい、これらの不等号演算子はすべてクエリのスライスを生成します。

Q3:はい、基本的にCONTAINSはコレクション内を見て、その特定のアイテムを探します。これは、カラムにセカンダリインデックスがある場合のみ機能します。それ以外の場合、Cassandraはチェックするためにすべてのコレクションをスキャンする必要があります。

Q4/5:質問が少し混乱します。このコンテキストの通常の列は、非パーティションキー列です。

+0

Q1に関しては、「二次索引問合せ」とは、索引が存在する表に対する問合せ、または索引付けされた列に関する問合せを意味します。 – BAE

関連する問題