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