在单个field上创建索引,查询时用升序或降序的区别不大。在多个field上创建索引的时候,影响就比较大了。
如果索引中的field是一个array,那么索引就变成了多key索引,多key索引不支持全覆盖查询。
> db.users.createIndex({name:1});
{"createdCollectionAutomatically" : false,"numIndexesBefore" : 1,"numIndexesAfter" : 2,"ok" : 1
}
> db.users.createIndex({name:1,age:1});
{"createdCollectionAutomatically" : false,"numIndexesBefore" : 2,"numIndexesAfter" : 3,"ok" : 1
}
>