Cassandra 中的 COUNT(*) 与 COUNT(1) 性能
Posted
技术标签:
【中文标题】Cassandra 中的 COUNT(*) 与 COUNT(1) 性能【英文标题】:COUNT(*) vs. COUNT(1) performance in Cassandra 【发布时间】:2018-03-12 13:54:06 【问题描述】:根据docs:
使用 COUNT(*) 的 SELECT 表达式返回匹配查询的行数。或者,您可以使用 COUNT(1) 来获得相同的结果。
使用后一种方法是否有任何性能优势(如在 RDBMS 中)?
【问题讨论】:
【参考方案1】:COUNT(*) 和 COUNT(1) 之间没有区别。 COUNT(1) 只是为了向后兼容我认为与一些旧的东西。无论内容如何,selectCountClause 都会返回空的 RawSelector 列表,但如果它是一个数字而不是 1 或不是 '*',则会引发异常。
如果担心性能,您可能希望避免一般计数。而是使用计数器或将计数保持在更高级别。
【讨论】:
嗨,克里斯,您能详细说明第二段吗?我在 Cassandra 有一张超过 10 亿张的桌子,我正在为此苦苦挣扎 ;-)以上是关于Cassandra 中的 COUNT(*) 与 COUNT(1) 性能的主要内容,如果未能解决你的问题,请参考以下文章