我有一个表,其中有一些索引和一些不同的列。我运行这个查询是为了获得一个用户数据的结果,而不是所有的用户数据。
user字段由UID
定义时间字段由TimeValue
定义(我以数字输入时间,因此我可以比较它们)我想要的数据由Cause
列
定义这是我的查询。这个查询是进行表扫描,还是只搜索UID为给定的行?
UID
、TimeValue
、Cause
均为指数
SELECT Cause, Cause_Amount, UID FROM Contribution WHERE UID = 'u5JvslEo9DbQ7hcq4vkM74dWlxr2' AND TimeValue > 1620414948000 AND ( Cause = 'cleanAir' OR Cause = 'safeWater')
查看QLDB正在做什么的一种方法是查看查询统计中返回的reados值。如果您看到您的reados与表中文档的总数相匹配,则可能正在进行扫描,如果它更低,则您正在使用索引。