当我使用带有条件的select查询时,我对Cassandra表现有一点问题,例如:
SELECT name from Perso where age = 18
这需要花费太多时间,当桌子到达1M行时,我得到了timedoutexception()
。
在这种情况下,我可以使用分页吗?如果是,如何使用请求中的条件?
答案 0 :(得分:0)
如果数据中的基数(即行数)较低,Cassandra会快速查看子句,而且当基数较高时,它很慢。
Cassandra docs建议使用一个列族来存储数据,并建议使用一个或多个其他cfs作为该数据的索引。
例如,对于您的问题,您可以有两个列族 - 一个用于Person,另一个索引列族用于将年龄映射到名称列表。您可以使用age作为键来查询第二个表,并返回返回给您的名称列表。然后,您可以使用各个返回的名称来查询Person列族中所需的任何数据。