您的位置:首页 > 数据库 > MySQL

mysql中or和in的效率问题

2017-05-18 15:44 218 查看
mysql中or和in的效率问题 

结论:

    1)从测试结果看,如果in和or所在列有索引或者主键的话,or和in没啥差别,执行计划和执行时间都几乎一样。二者平手

    2) 如果in和or所在列没有索引的话,性能差别就很大了。IN 胜出!

    在没有索引的情况下,随着in或者or后面的数据量越多,in的效率不会有太大的下降,但是or会随着记录越多的话性能下降非常厉害,

    从第三中测试情况中可以很明显地看出了,基本上是指数级增长。

 

总结:

 因此在给in和or的效率下定义的时候,应该再加上一个条件,就是所在的列是否有索引或者是否是主键。如果有索引或者主键性能没啥差别,如果没有索引,性能差别不是一点点!
http://blog.chinaunix.net/uid-20639775-id-3416737.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: