假设db.find({a:1,b:1,c:1}),满足条件a的文档有100万条,满足条件b的文档有70万条,满足条件c的有30万条,这三个字段都没有索引,进行全表扫描,那么find({a:1,b:1,c:1})和find({c:1,b:1,a:1}),and条件连接中字段顺序不一样,这二者查询速度是否会不一样,还是说不管条件字段谁写在前面谁写在后面对mongodb都一样?
假设db.find({a:1,b:1,c:1}),满足条件a的文档有100万条,满足条件b的文档有70万条,满足条件c的有30万条,这三个字段都没有索引,进行全表扫描,那么find({a:1,b:1,c:1})和find({c:1,b:1,a:1}),and条件连接中字段顺序不一样,这二者查询速度是否会不一样,还是说不管条件字段谁写在前面谁写在后面对mongodb都一样?
1 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读
1 回答1.3k 阅读
1 回答642 阅读
无论哪种,都不存在你想的先查一个条件,再查一个条件,再……不可能有那样的执行计划,太浪费。所以条件的顺序其实是无关的。