我需要执行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的结果?
答案 0 :(得分:3)
联合查询是最佳选择,因为USE KEYS可以直接从KV获取,而查询的其他部分可以使用索引。