Couchbase metrics sortcount始终为零-N1QL+.NET SDK
我需要条件显示的可用记录总数,如“总记录”的第1页,我正在网格中显示数据。根据Couchbase论坛,排序计数指标应该给出总记录,但它给我零。非常感谢您的帮助。使用.NETSDK 使用的N1QL查询:Couchbase metrics sortcount始终为零-N1QL+.NET SDK,couchbase,n1ql,couchbase-java-api,Couchbase,N1ql,Couchbase Java Api,我需要条件显示的可用记录总数,如“总记录”的第1页,我正在网格中显示数据。根据Couchbase论坛,排序计数指标应该给出总记录,但它给我零。非常感谢您的帮助。使用.NETSDK 使用的N1QL查询: select Title from `CMS` where LastUpdatedOn > 0 and IsLatestVersion = true order by LastUpdatedOn DESC LIMIT 2
select Title
from `CMS`
where LastUpdatedOn > 0 and IsLatestVersion = true
order by LastUpdatedOn DESC LIMIT 2
使用的索引:
CREATE INDEX `CMS_idx_LastUpdatedOnDesc_IsLatestVersion` ON `CMS`(LastUpdatedOn DESC, IsLatestVersion);
查询ORDERBY子句遵循索引键顺序。所以查询使用索引顺序,避免排序,并快速提供结果。发生这种情况时,度量中的sortCount将丢失,将为0。当它使用索引顺序时,一旦满足查询,它就会终止索引扫描。因此,总的合格记录是未知的。您需要发出显式计数查询以了解总结果
即使查询使用LIMIT+OFFSET进行显式排序,非常感谢,伙计,答案很有用。我还有一个问题,在查询中使用或条件后,我面临性能问题。以下查询的索引应该是什么?从CMS中选择Count1,其中LastUpdateOn>0,EditedBy='me'或IsLatestVersion=true谢谢,该链接非常有用。我尝试了下面的小查询来检查我是否只是为了学习而获得sortcount,但是即使对于这个小查询,sort count仍然是零,我是否遗漏了什么?如果我能看到任何小查询的排序帐户,我会很高兴。从CMS`中选择标题,其中LastUpdateOn>0且IsLatestVersion=true`
CREATE INDEX `CMS_idx_LastUpdatedOnDesc_IsLatestVersion` ON
`CMS`(IsLatestVersion, LastUpdatedOn DESC, Title);
SELECT Title
FROM `CMS`
WHERE LastUpdatedOn > 0 and IsLatestVersion = true
ORDER BY LastUpdatedOn DESC
LIMIT 2