这个 SELECT 使用索引的 QLDB 查询是否会被优化

Will this SELECT QLDB query using index be optimized or not

我有一个 table,其中包含一些索引和一些不同的列。我运行这个查询得到的结果是一个用户的数据,不是所有的用户数据。

用户字段由UID定义 时间字段由 TimeValue 定义(我以数字形式输入时间以便比较它们) 我想要的数据由 Cause

定义

这是我的查询。此查询将执行 table 扫描还是仅搜索 UID 为给定行的那些行。

UIDTimeValueCause也是索引

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

检查 QLDB 正在做什么的一种方法是查看查询统计信息中返回的 ReadIOs 值。如果您看到您的 ReadIOs 与 table 中的文档总数相匹配,则可能是在进行扫描,如果较低,则说明您正在使用索引。