关于 数据库 or 的用法,就不说了 讲讲OR对数据库性能有多大的杀伤力,之后线上的项目若是是数据量很大的表,必定不要用OR来查询数据库
今天在工做的时候,同事遇到了SQL优化的问题,让我帮忙看看,以后一个长达16秒的查询,优化到不到一秒! 性能
SQL: 优化
用时:五秒 spa
我检查一下 JK_Customer 这张表的数据, 有三百多万条数据 还好3d
主键是确定有索引的 想查询快的话,加索引呗blog
加索引后: 状况没有变化 索引
这状况就很明显了,OR这个玩意儿 破坏了个人索引:我来试试分开查询im
瞬间完成,OK 。。d3
事实证实了,OR破坏了的个人索引 致使查询变慢了 总结
那么咱们就不要怕麻烦 用UNION ALL来代替咱们的OR
总结: or会破坏索引
若是A表很大的状况下,应改为: