避免對索引字段進行計算操作 SELECT ID FROM T WHERE NUM/2=100 應改為: SELECT ID FROM T WHERE NUM=100*2 避免在索引字段上使用NOT,>,!= 避免在索引列上使用IS NULL和IS NOT NULL 避免在索引列上出現數據類型轉換 避免在索引字段上使用函數 避免建立索引的列中使用空值 不要對索引字段進行多字段連接 WHERE FAME+'. '+LNAME='HAIWEI.YANG' 應改為: WHERE FNAME='HAIWEI' AND LNAME='YANG' 八、多表連接
多表連接的時候,連接條件必須寫全,寧可重復,不要缺漏 連接條件盡量使用聚集索引 九、其他
在可以使用UNION ALL的語句里,使用UNION ALL 避免在WHERE子句中使用IN,NOT IN,OR 避免使用耗費資源的操作,帶有DISTINCT,UNION,MINUS,INTERSECT,ORDER BY的SQL語句會啟動SQL引擎執行,耗費資源的排序(SORT)功能. DISTINCT需要一次排序操作, 而其他的至少需要執行兩次排序 LIKE ‘%5400%' 這種查詢不會引用索引,而LIKE ‘X5400%'則會引用范圍索引。