關於SQL優化的一點心得

2021-04-22 15:28:10 字數 554 閱讀 3813

因為專案中的幾個sql比較執行速度比較慢,所以最近一直在優化這幾個sql,在優化的過程中,還是挺有意思,因為每進

行一點改進,可能對執行效率都有一點的改善。在這個方面,也總結了一些小小的經驗,這些經驗都是建立在orcle系統之上

的:1、在做聯合查詢時,注意對錶中的資料進行預估,然後決定查詢時表的先後順序。

2、根據資料庫的的解析規則來決定查詢條件的先後順序。這裡有乙個原則是盡量一開始就過濾到某錶的大量資料。

2、在做查詢時最好是直接對錶操作,所以如果表與檢視進行聯合查詢,一般把檢視折開。

4、在執行查詢時,儘量減少對錶的訪問次數,例如在執行一次查詢,需要多次關聯**表,這種情況就可以考慮怎麼盡量減

少查詢的次數。

5、對於union 與 union all的使用,如果不需要排重,那就盡量使用union all,因為union有排重功能,所以效率相對

要低一些。

6、對於用in的查詢子句,考慮用exists來代替

7、子查詢中盡量不要用排序等語句。

以上都是針對在一定oracle配置條件下,也不涉及到oracle本身進行調優。

關於sql的一點心得

積累了一定的後端開發經驗,談一下寫sql的一點心得 1.select from 一定要要慎用,最好是只返回你需要的列,否則效率會很低 2.游標要慎用,之前從因為記憶體不足的原因,使用游標從資料庫中讀資料,游標實際上就是分批放入記憶體,實際上減小了記憶體的占用,但效率會變低 3.索引要建立在經常做查詢...

SQL一點心得

sql語句將所有 stock 表裡的 縮寫 led甲 替換改寫成 led刷 update dbo stock set 縮寫 replace 縮寫 led甲 led刷 where 縮寫 like led甲 go字首 update mytable set myfield replace myfield,...

關於call user func的一點心得

好久沒寫部落格實在是慚愧,最近寫乙個控制器程式,程式獲取頁面提交引數為程式中乙個類的方法。比如,頁面有不同的按鈕可以讓使用者觸發 getmethod a 和 getmethod b getmethod n 控制器在得到引數之後如何呼叫類中對應的方法?就需要用到call user func 按手冊照葫...