6

我想使用Hector客户端计算 Cassandra 行的总列数。目前我正在使用 a 执行此CountQuery操作,但对我来说似乎真的很慢。同样对于一行,只有 60k 列需要将近 2 秒。我的代码目前如下所示:

QueryResult<Integer> qr = HFactory.createCountQuery(ksp, se, se).
    setColumnFamily("ColumnFamily1").
    setKey("RowKey").
    setRange(null, null, 1000000000).execute();

PS:我必须将范围设置为如此高的数字,否则它只会算我最大。到我在范围内提供的数字。

有什么想法可以改进吗?

4

1 回答 1

8

Cassandra 中的列数本来就很慢。Cassandra 必须遍历整行才能返回计数。

您可能想要对计数进行非规范化。您可以使用每次插入时更新的计数器列。

于 2012-01-03T17:12:10.110 回答