SQL的查詢優化

2021-09-26 02:17:12 字數 766 閱讀 3058

從表連線的角度優化

內連線;外連線;交叉連線

使用儲存過程取代暫時寫sql語句

從索引角度優化:對經常使用的查詢字段建立索引。這樣查詢時只進行索引掃瞄,不讀取資料塊。

1.避免在where子語句中對字段進行null判斷

建立資料庫是限定not null,用****ult賦預設值

2.避免在where子語句中使用<>或!=操作符

3.避免在where子語句中使用or來連線條件

如:select id from t where num=10 or num=20;

可以寫成

select id from t where num=10 union all select id from t where num=20;

4.對於連續的數值,能用between就不要用in

如:select id from t where num in(1,2,3);

可以寫成

select id from t where num between 1 and 3;

5.避免在where子語句中使用引數

6.避免在where子語句中對字段表示式操作

如:select id from t where num/2=100;

可以寫成

select id from t where num=100*2;

避免使用selelct *,用具體的欄位名來代替,不要返回用不到的字段

過濾語句越多的where語句前移

對相同的查詢語句統一寫法

查詢優化 SQL優化

查詢優化注意點 代表查詢速度比較 1 所有查詢必須注意 的使用必要性 cout 1 cout 2 字段 主鍵索引 字段 普通索引 字段 沒有索引 3 乙個字段 多個字段 欄位多越慢 4 大於10000和大於10001的區別 後者大於前者 5 列沒別名 列 有別名6 兩個條件,where時應該將符合資...

查詢優化 sql

查詢1 declare d datetime set d getdate select top 1000 from product where contains name,男上裝 or contains text,男上裝 select datediff ms,d,getdate set d getd...

優化sql查詢

如何寫出高效能的sql語句 執行計畫是資料庫根據sql語句和相關表的統計資訊坐出的乙個查詢方案,這個方案是由查詢優化器自動分析產生的,比如一條sql語句如果用來從乙個n條記錄中查詢其中一條,那查詢優化器會選擇 索引掃瞄 方式。該錶如果使用了歸檔,那查詢優化器就會改變方案,採用 全表掃瞄 方式。執行計...