首先SQL書寫的目的是為了解決問題,因此只有明白了要解決的問題,才能寫出更加高效的SQL語句,才能優雅的解決問題,獲得更多的快樂!
在寫一個SQL語句的時候不妨像優化器一樣思考,問自己以下的這些問題,相信長時間的積累的結果一定可以讓自己的SQL變得高效並且優雅
1)為了獲取所需要的全部數據需要那些表?
2)其中有表是分區的嗎?如果有,分區是如何定義的呢?
3)每張表都有哪些列?
4)每張表中可以引用的索引有哪些?
5)每張表以及其中的列和索引的統計信息都是什麼?
6)某些列上有直方圖信息嗎?(這個東西不知道是什麼)
通過以上的問題。以及合理的擺放搜索條件的前後順序,可以再一定程度上少走彎路,提升SQL的效率
比如用多個and的時候,把最可能為false的放在最前面,如果用or就把最可能為true的放在前面,以及盡可能的多使用and少使用or等等