下面的查询需要 2 分钟,可以再调整一下吗

Below query is taking 2 mins ,can it be tuned more

帮我调整以下查询: SELECT META(m).id, m.sch_name AS name FROM pricing_qa_1 AS m UNNEST m.pri_sch_ref AS r WHERE m.dtype = "mprisch" AND r IN( SELECT RAW META(a).id FROM pricing_qa_1 AS a UNNEST a.prod_prof AS p WHERE a.dtype = "prisch" AND (p.prod_cd = "WMOBAC000A1")).

您在每个文档中都有一个数组,并且您对数组包含 prod_id 值 "WMOBAC000A1" 的文档感兴趣。那正确吗?

您应该能够使用 ANY 运算符完全消除 UNNEST:

https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/collectionops.html

使用此处描述的 ANSI JOIN 的数组索引https://blog.couchbase.com/ansi-join-support-n1ql/(示例 12、13、14)

CREATE INDEX ix1 ON pricing_qa_1 ( DISTINCT v.prod_cd FOR v IN prod_prof END ) WHEERE dtype = "prisch";
CREATE INDEX ix2 ON pricing_qa_1 ( DISTINCT pri_sch_ref ) WHEERE dtype = "mprisch";

SELECT META(m).id , m.sch_name AS name
FROM pricing_qa_1 AS p
JOIN pricing_qa_1 AS m
ON ANY mv IN m.pri_sch_ref SATISFIES mv = META(p).id END AND m.dtype = "mprisch"
WHERE p.dtype = "prisch" AND ANY v IN p.prod_prof SATISFIES v.prod_cd = "WMOBAC000A1" END ;