db.items.find( {
$and: [
{ field1: x },
{ field2: y },
{ field3: z}
]
} )
比以下更快:
db.items.find( {
$and: [
{ field1: x },
{ field2: y }
]
} )
虽然我很想说“太好了,我完全明白了”——但事实并非如此。我只知道它发生在我的特定情况中,并且想知道这是否总是正确的。如果是这样的话,理想情况下,我想知道为什么。
此外,在创建多字段索引时,按任何顺序排列是否有帮助。例如,假设我添加了一个复合索引:
db.collection.ensureIndex( { field1: 1, field2: 1, field3: 1 } )
这些有任何排序吗?如果有,顺序会有影响吗?假设90%的项目将符合field1标准,但1%的项目将符合field3标准。对它们进行排序是否会产生某种差异?