我有下表(使用 CQL3):
create table test (
shard text,
tuuid timeuuid,
some_data text,
status text,
primary key (shard, tuuid, some_data, status)
);
我想获得按 tuuid 排序的行。但这只有在我限制分片时才有可能 - 我得到这是由于性能。
我有 shard 纯粹用于分片,我可能会将其值范围限制在某个小范围 [0-16) 之内。然后,我可以运行这样的查询:
select * from test where shard in (0,...,15) order by tuuid limit L;
我的表中可能有数百万行,所以我想了解这种 order by query 的性能特征。总的来说,性能似乎很差,但有一个合理数量的限制条款(10K 的顺序),这可能不是那么糟糕 - 即 16 路合并但具有相当低的限制。
任何提示、建议或指向代码的关于在哪里查看的建议将不胜感激。