避免对索引字段进行计算操作 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%'则会引用范围索引。