SQL 一个【OR】属性给你带来了怎样的麻烦
2024-09-05 22:20:30
关于 数据库 or 的用法,就不说了 讲讲OR对数据库性能有多大的杀伤力,以后线上的项目如果是数据量很大的表,一定不要用OR来查询
今天在工作的时候,同事遇到了SQL优化的问题,让我帮忙看看,之后一个长达16秒的查询,优化到不到一秒!
SQL:
用时:五秒
我检查一下 JK_Customer 这张表的数据, 有三百多万条数据 还好
主键是肯定有索引的 想查询快的话,加索引呗
加索引后: 情况没有变化
这情况就很明显了,OR这个玩意儿 破坏了我的索引:我来试试分开查询
瞬间完成,OK 。。
事实证明了,OR破坏了的我的索引 导致查询变慢了
那么我们就不要怕麻烦 用UNION ALL来代替我们的OR
总结: or会破坏索引
如果A表很大的情况下,应改成:
最新文章
- [转载]敏捷开发之Scrum扫盲篇
- 网站整站下载工具—HTTrack Website Copier
- iOS开发_MVC设计模式
- Ubuntu android 开发配置
- 微信小程序开发之如何哪获取微信小程序的APP ID
- Ubuntu下配置smb服务器
- Altium designer使用技巧集(1)
- 由Qt4.x项目移植到Qt5.x需要注意的事项
- geotrellis使用(三十三)关于Geotrellis读取Geotiff的两个细节
- Maven项目pom.xml文件报xxx\target\classes\META-INF\MANIFEST.MF (系统找不到指定的路径)
- 手持机设备公司(WINCE/ANDROID/LINUX)
- CSS3 :nth-child() 选择器---挖坑
- xls 编码 utf-8
- Python requests--初识接口自动化
- github 推送代码
- python 爬虫不停换代理
- datatabe 与string
- bzoj4458 GTY的OJ (优先队列+倍增)
- HDU 1262 寻找素数对 模拟题
- ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: N O) MYSQL