让我们考虑下表
CREATE TABLE base_table(
partition_key uuid,
clustering_key1 uuid,
clustering_key2 uuid,
regular text,
PRIMARY KEY((partition_key), clustering_key1, clustering_key2)
);
在 Cassandra 2.2 之前,不可能进行这样的查询:
SELECT * FROM base_table
WHERE partition_key=<UUID1>
AND clustering_key1 IN (<UUID2>,<UUID3>)
AND clustering_key2 < UUID4
实际上,只有当前一个键受到相等关系的限制时,才可以限制集群键。
自 Cassandra 2.2 以来,这是可能的,但有人知道这样做是否有一些警告吗?可以预期什么样的性能,就像没有 IN 子句(或接近)一样?它是否像相等关系一样缩放?
更多,Cassandra 3.X 新存储引擎可能已经考虑到优化此类请求......如果有人对此有想法:)
谢谢 !