如何在couchbase服务器中正确创建子查询的索引?

问题描述 投票:2回答:1

如何为该查询执行正确的索引?我需要加快这个查询。

SELECT q1, q2 
LET q1 = (Select ht.* FROM `mybucket` as mb WHERE mb.recdate IN (SELECT RAW MAX(recdate) FROM `mybucket` as mbt WHERE mbt.deviceID = "10101")), 
    q2 = (Select ht.* FROM `mybucket` as mb WHERE mb.recdate IN (SELECT RAW MAX(recdate) FROM `mybucket` as mbt WHERE mbt.deviceID = "10001"));
indexing couchbase n1ql
1个回答
1
投票

您有两个并行查询,每个查询都有一个子查询。这两个查询非常相似。

您可以使用两个索引执行此操作。

在每种情况下,这个应该适合子查询:

CREATE INDEX date_deviceid_idx on mybucket(deviceID, recdate)

在每种情况下,这个应该适合主查询:

CREATE INDEX ht_recdate_idx on mybucket(recdate, ht)
© www.soinside.com 2019 - 2024. All rights reserved.