我应该在这里使用复合索引吗?

时间:2021-05-18 16:54:11

标签: mongodb indexing

我的收藏包含 2000 万个文档,如下所示:

summary(tmp)

我为 { "_id" : ObjectId("5f76a5588a93be772c14cc0f"), "list_id" : ObjectId("5f76a53e8a93be772c14cc06"), "email" : "email1@yahoo.com", "date_created" : ISODate("2020-10-02T03:58:16.739Z") } { "_id" : ObjectId("5f76adb88a93be772c14cc3e"), "list_id" : ObjectId("5f76a53e8a93be772c14cc06"), "email" : "email2@yahoo.com", "date_created" : ISODate("2020-10-02T03:59:11.229Z") } { "_id" : ObjectId("5f76adb88a93be772c14cc38"), "list_id" : ObjectId("5ed93f71c130ea5378977d4f"), "email" : "email3@yahoo.com", "date_created" : ISODate("2020-10-02T06:13:08.120Z") } ... list_id 创建了 2 个单独的索引。两者都在上升。

我针对该集合运行的大多数查询包括同时查询 date_createdlist_id。例如

date_created

我的理解是 MongoDB 将仅使用上述索引之一,具体取决于它确定哪个索引更优。

我的问题是,如果我有一个由 db.collection .find({ list_id: ObjectId('608af31fb1d9113db9bbd069'), date_created: {$gte: new Date('2021-04-30T07:00:00Z')} }) list_id 组成的复合索引,上述查询的运行速度会比仅使用上述索引之一更快吗?

0 个答案:

没有答案
相关问题