创建新的复合索引与添加到现有索引之间的权衡是什么?



我正在按字段a, bc进行查询,并具有此索引:

{a: 1, b: 1, c: 1}

我在a上添加了一个新的查询,按d desc排序。我应该将索引更改为:

{a: 1, b: 1, c: 1, d: -1}

或者我应该添加第二个索引:

{a: 1, d: -1}

在这种情况下,更改索引不起作用(参见http://docs.mongodb.org/manual/tutorial/sort-results-with-indexes/#sort-and-non-prefix-subset-of-an-index)。

在查询非顺序复合索引字段的一般情况下,虽然创建索引总是占用更多内存,但它将执行得更好:

"然而,索引在支持查询方面不如只索引item和stock那么有效。"http://docs.mongodb.org/manual/core/index-compound/

最新更新