哪些因素可以使商品计数与沙发床中的商品ID计数不同?

问题描述 投票:0回答:1

在3节点的Couchbase Community Edition 5.0.1内部版本5003群集上,couchbase表示它包含12268503个项目。但是,计算ID时,结果为6132875。

哪些因素可以使商品计数与沙发床中的商品ID计数不同?

更确切地说,在存储桶上执行以下N1QL查询时-说Product

SELECT count(1) FROM Product

它给出

12268503

当对项目ID进行计数时

SELECT count(META(Product).id) FROM Product

返回:

6132875

即ID的数量少于项目数量的50%。

此外,它们在数小时内没有对存储桶进行任何操作(0 ops / s),这排除了由于流量高峰而导致主索引无法赶上的可能性。

[我浏览了沙发床博客和文档,但没有找到有关此计数差异的任何线索。非常感谢任何指针。

count couchbase n1ql
1个回答
1
投票

如果查询没有谓词/没有联接,并且投影具有单个表达式count(*),count(常量),则查询将从存储桶统计信息中获取结果并提供信息(耗时不到毫秒)。

SELECT count(*)FROM Product;从产品中选择count(1);

以下几乎是相似的,但是COUNT参数是表达式,因此它必须使用索引并进行聚合(因为在这种情况下,文档密钥是唯一的并且必须是字符串,优化器应该已经考虑过以前的方法,到目前为止还没有优化)] >

SELECT count(META(Product).id) FROM Product

在第二种情况下,它使用索引,您的索引可能有待处理的项目而未被捕获。尝试使用scan_consistency。检查索引统计开始于。

© www.soinside.com 2019 - 2024. All rights reserved.