首先sql書寫的目的是為了解決問題,因此只有明白了要解決的問題,才能寫出更加高效的sql語句,才能優雅的解決問題,獲得更多的快樂!
在寫乙個sql語句的時候不妨像優化器一樣思考,問自己以下的這些問題,相信長時間的積累的結果一定可以讓自己的sql變得高效並且優雅
1)為了獲取所需要的全部資料需要那些表?
2)其中有表是分割槽的嗎?如果有,分割槽是如何定義的呢?
3)每張表都有哪些列?
4)每張表中可以引用的索引有哪些?
5)每張表以及其中的列和索引的統計資訊都是什麼?
6)某些列上有直方圖資訊嗎?(這個東西不知道是什麼)
通過以上的問題。以及合理的擺放搜尋條件的前後順序,可以再一定程度上少走彎路,提公升sql的效率
比如用多個and的時候,把最可能為false的放在最前面,如果用or就把最可能為true的放在前面,以及盡可能的多使用and少使用or等等
oracle 高質量的SQL
在應用系統開發初期,由於開發資料庫資料比較少,對於查詢sql語句,複雜檢視的的編寫等體會不出sql語句各種寫法的效能優劣,但是如果將應用系統提交實際應用後,隨著資料庫中資料的增加,系統的響應速度就成為目前系統需要解決的最主要的問題之一。系統優化中乙個很重要的方面就是sql語句的優化。對於海量資料,劣...
高質量 高效能的SQL語法
在應用系統開發初期,由於開發資料庫資料比較少,對於查詢sql語句,複雜檢視的的編寫等體會不出sql語句各種寫法的效能優劣,但是如果將應用系統提交實際應用後,隨著資料庫中資料的增加,系統的響應速度就成為目前系統需要解決的最主要的問題之一。系統優化中乙個很重要的方面就是sql語句的優化。對於海量資料,劣...
Mysql寫出高質量的sql語句的幾點建議
clevercode在實際的工作也寫過一些低效率的sql語句。這些語句會給資料庫帶來非常大的壓力。最基本的表現就是sql語句執行慢,後來逐漸的去優化和嘗試。總結了一些高質量的sql語句的寫法。這裡clevercode總結一下分享給大家。盡量避免在列上運算,這樣會導致索引失效。優化前 select f...