MongoDB 学习笔记之 $or与索引关系

$or与索引关系:

 

对leftT集合的timestamp创建索引

执行$or语句:db.leftT.find({$or: [{ "timestamp" : 5},{"age": 10}]}).explain(true),发现没有使用任何索引

对age再创建索引

重新再次查看查询计划:

索引被使用了。

结论:

如果使用了$or操作符,必须保证关键字都有索引,如果其中任何一个关键字没有索引,则默认没有索引,会使用全表扫描。

 

posted @ 2017-09-13 21:47  AK47Sonic  阅读(483)  评论(0编辑  收藏  举报