zoukankan      html  css  js  c++  java
  • 一次千万级别的SQL查询简单优化体验

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    android开发 PopupWindow 设置充满屏幕
    android 设置半透明
    web farm 讨论引出
    xamarin studio And linq 查询方式分析
    MONO 使用重要提示
    一个MVC的在线编译工具
    MONO Jexus部署最佳体验
    Origami
    产品原型设计工具 Balsamiq Mockups(转)
    VSPM虚拟串口使用
  • 原文地址:https://www.cnblogs.com/mszhangxuefei/p/worknotes-7.html
Copyright © 2011-2022 走看看