当查询使用具有部分匹配的 ARRAY_CONTAINS 函数时,将返回此顾问消息。 该消息阐明了原因并提供改进查询性能的指导。
属性
| 价值 | |
|---|---|
| RuleID | QA1000 |
| 标题 | PartialArrayContains |
| 类别 | Performance |
原因
该查询与 ARRAY_CONTAINS 第三个参数集一 true起使用,用于检查部分匹配项。
规则说明
使用 ARRAY_CONTAINS 部分匹配可能会导致查询执行效率低下。
建议
替换为ARRAY_CONTAINSVALUE EXISTS和子查询以提高性能。
Example
请考虑以下原始查询:
SELECT VALUE ARRAY_CONTAINS(c.auditEvents, {"type":"invoice","status":"Success"}, true)
FROM c
然后使用以下更新的查询:
SELECT VALUE EXISTS
(
SELECT VALUE t
FROM t IN c.auditEvents
WHERE t.type = "invoice" AND t.status = "success"
)
FROM c