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

Indexing 如何在couchbase服务器中正确创建子查询索引?,indexing,couchbase,n1ql,Indexing,Couchbase,N1ql,如何为该查询创建正确的索引?我需要加快这个查询的速度 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 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"));

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

您可能可以使用两个索引来实现这一点

在每种情况下,此项都应适合子查询:

CREATE INDEX date_deviceid_idx on mybucket(deviceID, recdate)
CREATE INDEX ht_recdate_idx on mybucket(recdate, ht)
在每种情况下,这一个都应该适合主查询:

CREATE INDEX date_deviceid_idx on mybucket(deviceID, recdate)
CREATE INDEX ht_recdate_idx on mybucket(recdate, ht)