【发布时间】:2017-10-12 14:17:06
【问题描述】:
在我们的 couchbase 数据库中,我们有一个包含相对较大对象的存储桶。这些对象内部还有其他对象,比如说人。这应该是一个数组,但是由于某种原因,我们不得不将它创建为对象的对象,这就是它的样子:
{
"companyName": "company name",
"companyid": "11111-GUID-11111",
"people": {
"22222-GUID-22222": {
"peopleid": "22222-GUID-22222",
"name": "name1"
},
"33333-GUID-33333": {
"peopleid": "33333-GUID-33333",
"name": "name2"
},
"44444-GUID-44444": {
"peopleid": "44444-GUID-44444",
"name": "name3"
}
}
}
它也有类似结构的子对象。
我可以像这样对该文档进行查询:
SELECT c.*
FROM companies c
WHERE ANY v IN OBJECT_VALUES(c.people) SATISFIES v.peopleid = "22222-GUID-22222" END
LIMIT 100
OFFSET 40000;
我有一个包含 50000 个这样的文档的存储桶。
上面的查询运行完美,并给出了正确的响应,但我必须等待大约 25 秒才能得到响应。
有没有可能在这个结构上创建适当的索引?或者任何可以加快查询速度的解决方案?
【问题讨论】: