9

特定のキーなしで行をフェッチする必要があります。サンプル用:

 select * from users where user_id not in ("mikko");

「not in」で試してみましたが、これが応答です。

Bad Request: line 1:35 no viable alternative at input 'not'
4

1 に答える 1

10

"not in" は、CQL でサポートされている操作ではありません。Cassandra の心臓部は依然としてキー インデックス付きの行に基づいています。したがって、そのクエリは基本的に「select * from users」と同じです。すべての行を調べて、一致しないかどうかを判断する必要があるためです。そのタイプのクエリを実行する場合は、マップをセットアップする必要があります。それを実行するジョブを削減します。

Cassandra を使用する場合、実際にやりたいことは、データ モデルを非正規化して、アプリケーションが実行するクエリが最終的に単一のパーティション (またはいくつかのパーティション) に対して結果をクエリするようにすることです。

また、Cassandra データ モデリングに関する優れたウェビナーや講演もご覧ください。

于 2013-08-29T01:39:21.510 に答える