我想使用Hector客户端计算Cassandra行的总列数。目前我用CountQuery
这样做,但对我来说似乎很慢。对于一排,只有6万列,它需要将近2秒。我的代码目前看起来像这样:
QueryResult<Integer> qr = HFactory.createCountQuery(ksp, se, se).
setColumnFamily("ColumnFamily1").
setKey("RowKey").
setRange(null, null, 1000000000).execute();
PS:我必须将范围设置为如此高的数字,否则它只计算我最大值。我在该范围内提供的数字。
我有什么想法可以改善这个?
答案 0 :(得分:8)
计算Cassandra中的列本质上很慢。 Cassandra必须迭代整行才能返回计数。
您可能希望对计数进行非规范化。您可以使用每次插入时更新的计数器列。