sql 查询优化小计
生活随笔
收集整理的這篇文章主要介紹了
sql 查询优化小计
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
好久沒更博了,偷偷的抽時間寫一下。
早上開始working的時候,發現一個頁面加載很慢,經排查是昨天寫的一條聯合查詢的sql導致的。于是著手優化!
首先想到的是在join的時候,減少表體積之后再進行關聯,于是有了下面這種寫法:
(原sql) a join b on a.bid=b.id => (新sql) a join (select id,phone from b where b.site=35) b on a.bid=b.id上面是將b表進行where過濾以后再與a表進行關聯,執行以后查詢相對快了一點,畢竟b表體積小了,關聯的時候自然就快了一點。但是,瞅著這句sql就是不太順眼,畢竟用了子查詢,雖然方便,但是感覺還是有損效率的。這個時候,就突然想起以前看到的一個博主寫到的,“在使用join以后,可以在on或者where后面加上條件,sql在解析的時候,會先讀取條件,再進行關聯”,想到這里,就恍然大悟了,何必用子查詢?直接后面在where里寫條件就好了。
另外一個方面,查詢的時候,一般的會有多個表進行關聯, 遵循上面的原理,我們一般把小表放后面,查完了小表再去關聯大表。
? 這里我是用的sql server ,查詢的時候有個分析工具挺好用的:
就這個,顯示估計的執行計劃,可以在這里查看sql的執行消耗。
?
嗯,談不上什么技術點,就是記錄一下。
?
轉載于:https://www.cnblogs.com/sunshine-wy/p/8880438.html
總結
以上是生活随笔為你收集整理的sql 查询优化小计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JeeWx 微信管家平台,简称“捷微”
- 下一篇: java完全自学手册pdf,高级Java