使用索引和USE KEY进行N1QL查询

时间:2019-01-15 23:54:18

标签: couchbase n1ql

我需要执行N1QL查询,其中一些记录可以通过索引属性来选择,而其他记录可以通过其ID来标识。我尝试使用

SELECT name FROM b WHERE collection in $cList OR meta().id IN $idList

但是这将返回错误,表明没有可用的索引与我的查询匹配。我可以将UNION与2个单独的查询一起使用:

SELECT name FROM b WHERE collection in $cList
UNION
SELECT name FROM b USE KEYS $idList

这是最好的方法吗?还是有某种方法可以在单个查询中合并索引和USE KEY的结果?

1 个答案:

答案 0 :(得分:3)

联合查询是最佳选择,因为USE KEYS可以直接从KV获取,而查询的其他部分可以使用索引。