我对 cassandra 有问题(ScyllaDB(不支持索引!))
在我的场景中,我有一个包含三列的表格
CREATE TABLE test (a text , b text , c text , PRIMARY KEY ( a , b ,c ) );
现在我想通过第二个集群键( c )选择数据,但需要 b 。
我的目标但不正确的查询是:
SELECT * FROM test WHERE c='...' ALLOW FILTERING
正确的查询是这样的:
SELECT * FROM test WHERE b='...' AND c='...' ALLOW FILTERING
我的问题是否有任何解决方案可以在选择查询中仅使用 b 集群键?
你可以查询
SELECT * FROM test WHERE a='...' SELECT * FROM test WHERE a='...' AND b='...' SELECT * FROM test WHERE a='...' AND b='...' AND c='...' 但不是 a 和 c。这是因为您需要分区键 + 零个或多个按定义顺序排列的集群键。
化妆品:在CREATE TABLE的()周围a是不需要的,因为你不适用的复合分区键:
CREATE TABLE test (a text, b text, c text, PRIMARY KEY (a, b, c))
Run Code Online (Sandbox Code Playgroud)