0
我有以下情况:只是在查询中使用MongoDB的指数
- 我有一个文档集合像
{a: 1, b: 'some string', c: 5, d: 7 } {a: 2, b: 'some another string', c: 5, d: 8 } {a: 3, b: 'yet another string', c: 5, d: 9 }
- 我允许用户搜索使用自定义查询,所以有时我可以搜索:
{a: 2, c:5} {c:5, d:8}
- 一些使用的字段的是强制性的(例如。 C)
- 我想到了塞汀指标对C这样的查询会工作得更快,当我做:
db.my_collection.find({C:5})
它的伟大工程,但是当我启动:
db.my_collection.find({C:5,d:8})
它消耗的时间相同ommount时withought索引:(
所以我的问题是:是否有可能建立一些类型的部分索引,以便查询会排在首位的搜索里面有索引键和比在那些追求他们的人内部?
嗨我是不准确的 - 在我的例子中的索引只是在关键:c – 2013-02-26 12:22:02
@WitekAdamus啊我认为我最初实际上是误读,我只是假设了一些,并没有完全阅读它。我现在明白了;嗯是的,这可能是真的,一个'c'上的索引和'c'和'd'上的查询会很慢,这取决于'd'是什么以及'c'的选择性,这是解决这个问题的典型方法是使用他们的复合索引 – Sammaye 2013-02-26 12:26:54
@WitekAdamus好吧,我添加了一个答案,实际上回答了这个问题 – Sammaye 2013-02-26 12:47:08