sql效能調優有哪些方法

2021-10-06 14:39:31 字數 743 閱讀 2588

1、在表中建立索引,優先考慮where、group by使用到的字段

2、盡量避免使用select *,返回無用的字段會降低查詢效率

3、盡量避免使用in 和not in,會導致資料庫引擎放棄索引進行全表掃瞄

如果是連續數值,可以用between代替;如果是子查詢,可以用exists代替

4、盡量避免使用or,會導致資料庫引擎放棄索引進行全表掃瞄

優化方式:可以用union代替or

5、盡量避免在字段開頭模糊查詢或進行null值的判斷,會導致資料庫引擎放棄索引進行全表掃瞄

6、使用分段查詢 

在一些使用者選擇頁面中,可能一些使用者選擇的時間範圍過大,造成查詢緩慢。主要的原因是掃瞄行數過多。這個時候可以通過程式,分段進行查詢,迴圈遍歷,將結果合併處理進行展示。 如下圖這個sql語句,掃瞄的行數成百萬級以上的時候就可以使用分段查詢

7、避免在where子句中對字段進行表示式操作  這會造成引擎放棄使用索引

8、盡量使用inner join,避免left join

合理利用索引被驅動表的索引字段作為on的限制字段。利用小表去驅動大表

9、盡量用union all代替union

union和union all的差異主要是前者需要將結果集合並後再進行唯一性過濾操作,這就會涉及到排序,增加大量的cpu運算,加大資源消耗及延遲。當然,union all的前提條件是兩個結果集沒有重複資料。

效能調優有哪些參考指標?

效能調優有哪些參考指標?我們都知道效能調優很重要,他不僅可以讓我們的 吞吐量變高,而且還會節省公司的資源,用最少的資源獲得更大的吞吐量和最小的響應時間。但是調優應該什麼時間去做呢?是在開發過程中嗎?還是在開發之後呢?還有調優的目的是什麼?有哪些參考指標?比如是cpu 記憶體 響應時間還是吞吐量?話不...

超引數調優有哪些方法

為了進行超引數調優,我們一般會採用網格搜尋 隨機搜尋 貝葉斯優化等演算法。在具體介紹演算法之前,需要明確超引數搜尋演算法一般包括哪幾個要素。一是目標函式,即演算法需要最大化 最小化的目標 二是搜尋範圍,一般通過上限和下限來確定 三是演算法的其他引數,如搜尋步長。網格搜尋可能是最簡單 應用最廣泛的超引...

sql效能調優

基本原則 1.避免全表搜尋 2.建立索引 3.盡量避免向客戶端返回大量資料,若資料量大,考慮要求是否合理 4.盡量避免大事務操作,提高系統併發能力 5.盡量避免使用游標,因為效率差 關於where條件 1.盡量避免在where條件使用!或 操作符,否則引擎將放棄使用索引而全表搜尋 2.盡量避免在wh...