这个使用索引的SELECT QLDB查询是否进行了优化



我有一个表,其中有一些索引和一些不同的列。我运行这个查询是为了获得一个用户数据的结果,而不是所有的用户数据。

user字段由UID定义时间字段由TimeValue定义(我以数字输入时间,因此我可以比较它们)我想要的数据由Cause

定义这是我的查询。这个查询是进行表扫描,还是只搜索UID为给定的行?

UIDTimeValueCause均为指数

SELECT Cause, Cause_Amount, UID FROM Contribution WHERE UID = 'u5JvslEo9DbQ7hcq4vkM74dWlxr2' AND TimeValue > 1620414948000 AND ( Cause = 'cleanAir' OR Cause = 'safeWater')

查看QLDB正在做什么的一种方法是查看查询统计中返回的reados值。如果您看到您的reados与表中文档的总数相匹配,则可能正在进行扫描,如果它更低,则您正在使用索引。