背景:从两张有关联的表查询数据,A表数据量1400万,B表数据量8000万。A与B通过ID逻辑关联,没有实际的外键。B表是后来扩展出来的.

问题:根据某个ID查询时超时,运行时跑不出结果。

原因:使用一个or条件,条件里面有一个是A.ID=B.ID

简单优化:将or条件拆开,使用union all将之前使用表变量的部分换成了临时表对排序的字段加上了索引

结果:在50ms内能够查询出结果,这个与之前的超时简直不能相比。

感想:感谢DBA mm的帮助,让我有了这样的体验,不实际的处理(哪怕很简单的表关系)千万级的数据量,真不知道SQL语句的性能差异。

实际的体验了使用or的性能居然能够差到这个地步,以后尽量避免使用了。

我没有描述清楚具体的问题,只是大致的说了下。我自己是明白了,记录下来以备后面参考。也希望能够给像我一样的SQL菜菜鸟有点启发。

SQL优化的实践之路还很长,我要慢慢走。工作过程中的体验随时记录下来,分享给大家。

最新文章

  1. css 修改滚动条
  2. Python闭包实现的计数器
  3. .NET打印功能实现 PrintDocument
  4. 【Hadoop学习】Apache Hadoop ResourceManager HA
  5. Error: [$injector:unpr] angular.js
  6. Hudson的安装配置
  7. Python:列表
  8. Delphi动态申请数组内存的方法(不使用SetLength,采用和C相似的方式)
  9. 积累的VC编程小技巧之组合框
  10. mysql并发控制之快照读和当前读
  11. ORB-SLAM2的安装和运行流程
  12. angularjs+webapi2 跨域Basic 认证授权(一)
  13. 万能五笔输入法"@相反
  14. 批量压缩 css js 文件 包含多个文件 自动识别
  15. 对Spring中IOC和DI的理解
  16. .NET面试题系列(十一)WinDbg、Perfmon
  17. Haskell语言学习笔记(84)Concurrent
  18. Working with the Dynamic Type in C#
  19. 一键安装mysql
  20. 《算法导论》— Chapter 12 二叉查找树

热门文章

  1. XE3随笔15:使用 IXMLHTTPRequest 简单获取网页源代码
  2. 5. Singleton(单例)
  3. Memcached Memcached.ClientLibrary.SockIOPool”的类型初始值设定项引发异常
  4. Swift入门学习之一常量,变量和声明
  5. MVC3在IIS7.5发布(部署)报403.14错误的解决办法
  6. 面向对象程序设计 第二次作业<1>
  7. tomcat的CATALINA_HOME可以不用设置
  8. ubuntu 安装JAVA jdk的两种方法:
  9. The implementation details of the built thermal setup
  10. 在 Mac OS 上使用 TypeScript 编写 ASP.NET Core 1.0 应用