MongoDB一个复合索引与多个单字段索引



>我有一组照片。可以从其他一些集合(事件、新闻、帖子等)中引用它们(一对多)

我可以像这样创建引用:

db.photos.insert({ parent:{ collection: 'events', id: 12345 }})
db.photos.insert({ parent:{ collection: 'events', id: 54321 }})
//or just DBRef
db.photos.ensureIndex({parent:1})

db.photos.insert({ post_id: 12345 })
db.photos.insert({ event_id: 54321 })
db.photos.ensureIndex({post_id:1}, {sparse: true})
db.photos.ensureIndex({event_id:1}, {sparse: true})

在第一种情况下,我们有一个大的复合指数在第二个 — 一些较小的索引

每种方法的优缺点是什么?

首先,检查哪个字段的命中数。其次,创建一个具有最大命中字段的复合索引。第三,创建一个具有最小命中字段的复合索引。

注意:如果一次命中大量字段,则使用复合索引。其他情况会创建单个索引。

最新更新