SQL 一个【OR】属性给你带来了怎样的麻烦

     关于 数据库  or   的用法,就不说了     讲讲OR对数据库性能有多大的杀伤力,之后线上的项目若是是数据量很大的表,必定不要用OR来查询数据库

     今天在工做的时候,同事遇到了SQL优化的问题,让我帮忙看看,以后一个长达16秒的查询,优化到不到一秒!     性能

    SQL: 优化

 

用时:五秒    spa

 

我检查一下   JK_Customer  这张表的数据, 有三百多万条数据    还好3d

 

主键是确定有索引的    想查询快的话,加索引呗blog

加索引后: 状况没有变化   索引

 

这状况就很明显了,OR这个玩意儿  破坏了个人索引:我来试试分开查询im

 

 瞬间完成,OK 。。d3

 

事实证实了,OR破坏了的个人索引  致使查询变慢了  总结

 

 那么咱们就不要怕麻烦  用UNION ALL来代替咱们的OR

 

总结: or会破坏索引 

 

   

 若是A表很大的状况下,应改为: 

     

相关文章
相关标签/搜索