Cassandra CQL请求

时间:2013-05-29 13:47:22

标签: select cassandra

当我使用带有条件的select查询时,我对Cassandra表现有一点问题,例如:

SELECT name from Perso where age = 18

这需要花费太多时间,当桌子到达1M行时,我得到了timedoutexception()

在这种情况下,我可以使用分页吗?如果是,如何使用请求中的条件?

1 个答案:

答案 0 :(得分:0)

如果数据中的基数(即行数)较低,Cassandra会快速查看子句,而且当基数较高时,它很慢。

Cassandra docs建议使用一个列族来存储数据,并建议使用一个或多个其他cfs作为该数据的索引。

例如,对于您的问题,您可以有两个列族 - 一个用于Person,另一个索引列族用于将年龄映射到名称列表。您可以使用age作为键来查询第二个表,并返回返回给您的名称列表。然后,您可以使用各个返回的名称来查询Person列族中所需的任何数据。