sql優化技巧

2021-10-03 08:13:18 字數 772 閱讀 5836

1.比較運算子能用『=』就不用『<>』

「=」增加了索引的使用機率

2.事先知道只有一條查詢結果時,使用『limit 1』

「limit 1」可以避免全表掃瞄,找到對應結果就不會再繼續掃瞄了

3. 選擇合適的資料型別很重要

能用tinyint就不用smallint,能用smallint就不用int,磁碟和記憶體消耗越小越好

4.大的delete,update or insert查詢變成多個小查詢

速度快5. union all 代替union 如果結果集可以重複的話

union  all 不去重 效率高

6. 盡量避免 select *

如果不查詢表中所有的列,盡量避免使用 select *,因為它會進行全表掃瞄,不能有效利用索引,增大了資料庫伺服器的負擔,以及它與應用程式客戶端之間的網路io開銷。

7. where 子句裡面的列盡量被索引

提高效能

8.join子句裡面的列盡量被索引

9.order by 子句裡面的列盡量被索引

10.使用 limit 實現分頁邏輯好處多

不僅提高了效能,同時減少了不必要的資料庫和應用間的網路傳輸

11.使用explain 字去檢視執行計畫

可以檢查索引使用情況以及掃瞄的行

12.用where 子句代替order by

效能高13.盡量不使用游標

效能變慢,占用記憶體

14.索引不是越多越好。oracle超過4個就效能改善不了多少

幾篇不錯的sql優化文章:

oracle 技巧 sql 優化

it168 技術文件 一 問題的提出 在應用系統開發初期,由於開發資料庫資料比較少,對於查詢sql語句,複雜檢視的的編寫等體會不出sql語句各種寫法的效能優劣,但是如果將應用系統提交實際應用後,隨著資料庫中資料的增加,系統的響應速度就成為目前系統需要解決的最主要的問題之一。系統優化中乙個很重要的方面...

SQL語句優化技巧

1 應盡量避免在 where 子句中使用 或 操作符,否則將引擎放棄使用索引而進行全表掃瞄。2 對查詢進行優化,應盡量避免全表掃瞄,首先應考慮在 where 及 order by 涉及的列上建立索引。3 應盡量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行全...

常見sql技巧 優化

1 正則 regexp 比like更消耗資源 select name,email from t where email regexp 163 com select name,email from t where email like 163.com ro email like 163,com 2 r...