couchbase - N1QL 使用索引和 USE KEYS 查询
问题描述
我需要执行 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 KEYS 的结果?
解决方案
联合查询是最好的选择,因为 USE KEYS 可以直接从 KV 获取,而查询的其他部分可以使用索引。
推荐阅读
- machine-learning - 用于热图类型图像的卷积神经网络
- angular - 如何解决 Angular 8 中的“safeHtml 管道不起作用”
- javascript - 根据上一个项目单击切换显示
- apache - 使用 Raspbian 和 Apache 的反向代理
- r - 在同一个 dplyr 管道中读取文件并设置文件名
- python - Python plt.show 显示一个空白图
- python - cx_Freeze: LookupError: 未知编码: cp437
- python-3.7 - pyrcc5:没有这样的文件或目录
- android - 如何使用firebaseAuth从firebase获取当前活动的android应用用户电子邮件
- regex - 使用 grep 和 regex 从仅包含一种元音的文件中提取单词