從表連線的角度優化
內連線;外連線;交叉連線
使用儲存過程取代暫時寫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條記錄中查詢其中一條,那查詢優化器會選擇 索引掃瞄 方式。該錶如果使用了歸檔,那查詢優化器就會改變方案,採用 全表掃瞄 方式。執行計...