cassandra cql请求

gajydyqb  于 2021-06-15  发布在  Cassandra
关注(0)|答案(1)|浏览(340)

当我使用带条件的select查询时,cassandra的性能有一个小问题,例如:

SELECT name from Perso where age = 18

这花了太多时间,当table排到1米的时候,我得到了 timedoutexception() .
在这种情况下我可以使用分页吗?如果是,如何与请求中的条件一起使用?

mwkjh3gx

mwkjh3gx1#

如果数据中的基数较低(即行数),cassandra在where子句中的速度很快,而当基数较高时,cassandra的速度则是出了名的慢。
cassandra文档建议使用一个列族来存储数据,使用一个或多个其他cfs作为该数据的索引。
例如,对于您的问题,您可以有两个列族—一个用于person,另一个用于将年龄Map到姓名列表的索引列族。您可以使用age作为键查询第二个表,并将名称列表返回给您。然后可以使用返回的各个名称来查询person列族中所需的任何数据。

相关问题