我对卡桑德拉不熟悉,所以这个问题可能太简单了
我试图对一个具有分区键的表执行查询,该分区键由两个组件组成:refid和partid。我遇到的问题是partid的数量可能很大(并且对于不同的refid不同)。我现在的问题是:
SELECT * FROM contigs WHERE refid=29179863 AND partid IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21);
我想做的是创建一个如下所示的查询:
SELECT * FROM contigs WHERE refid=29179863 AND partid IN range(0,21);
有办法吗?我希望避免先在python中创建查询字符串,然后在Cassandra中执行它
在
select
查询中使用IN
作为分区键可能会导致性能问题。 指定refid
作为分区键,而partid
作为集群键,您将能够通过partid
进行范围查询查询
partid
范围:但请注意,cassandra限制分区键内有20亿行,因此在本例中,refid的分区数不能超过20亿
相关问题 更多 >
编程相关推荐