SQL疑难杂症【4 】大量数据查询的时候避免子查询
生活随笔
收集整理的這篇文章主要介紹了
SQL疑难杂症【4 】大量数据查询的时候避免子查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前幾天發現系統變得很慢,在Profiler里面發現有的SQL執行了幾十秒才返回結果,當時的SQL如下:
?
可以看得出來,在652行用了子查詢,恰巧目標表(QS_WIP)中的記錄數為100000000+,通過如下SQL可以得到:
SELECT ROWS FROM SYSINDEXES WHERE ID=OBJECT_ID('QS_WIP') AND INDID <2大量的數據導致子查詢的效率非常慢,應用系統一度提示"time out",經過優化,改為如下寫法,執行效率明顯提升:
?
先將子查詢里面的內容提取出來作為一個臨時表,再次join的時候就快了。
總結
以上是生活随笔為你收集整理的SQL疑难杂症【4 】大量数据查询的时候避免子查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ThoughtWorks现代企业架构框架
- 下一篇: mysql定时增量备份_Mysql日常自