indexing - Couchbase 数组索引
问题描述
沙发底座 5.0 版
我正在尝试通过数组索引来加速下面的查询,但我无法做到正确。
SELECT DISTINCT document_data.* FROM `optima` AS optima
UNNEST optima.documents AS document_data
UNNEST document_data.attachments AS attachment_data
WHERE optima.type = "accountDocument"
AND attachment_data.objectId IN ["18485,0"]
AND attachment_data.objectType IN ["account","service","cart","order"];
我创建了以下索引,但附件元素上的数组索引似乎不起作用
CREATE PRIMARY INDEX `optima-primary-index` ON `optima` USING GSI;
CREATE INDEX idx_document_nested ON `optima`
(DISTINCT ARRAY document_data FOR document_data IN optima.documents END)
WHERE type = "accountDocument";
CREATE INDEX idx_attachment_nested ON `optima`
(DISTINCT ARRAY
(DISTINCT ARRAY attachment_data FOR attachment_data IN document_data.attachments END)
FOR document_data IN optima.documents END)
WHERE type = "accountDocument";
CREATE INDEX `idx_type` ON `optima`(`type`);
有什么建议么?
解决方案
索引为 attachment_data.objectId
CREATE INDEX idx_attachment_nested ON `optima`
(DISTINCT ARRAY
(DISTINCT ARRAY attachment_data.objectId FOR attachment_data IN document_data.attachments END)
FOR document_data IN optima.documents END)
WHERE type = "accountDocument";
推荐阅读
- reactjs - 如何在反应虚拟化表中排序
- vb.net - 如果启动表单从代码中关闭,则启动画面会导致跨线程异常
- wordpress - 需要进行哪些编辑,以便 Jetpack 热门帖子显示所有时间的热门帖子,而不仅仅是过去 2 天?
- javascript - flow-type 用于“A”属性的可能值的动态依赖关系(数组
) 值 'B' ([prop: string]: any) - r - igraph 简化了尝试为边缘着色时
- excel - 如何使用 vba 将 Excel 从一张工作表复制到另一张工作表
- react-native - react native如何打开相机拍照?
- excel - VBA 识别/默认哪个日期系统?
- ruby-on-rails - Rails (Activerecord) - 无法使用连接和全局总和进行查询而不重复
- json - 无法使用 logstash 将 .log 解析为 .json