时间:2021-07-01 10:21:17 帮助过:3人阅读

对leftT集合的timestamp创建索引

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

对age再创建索引

重新再次查看查询计划:

索引被使用了。
结论:
如果使用了$or操作符,必须保证关键字都有索引,如果其中任何一个关键字没有索引,则默认没有索引,会使用全表扫描。
MongoDB 学习笔记之 $or与索引关系
标签:lin ora 语句 line xpl alt style strong plain