[转] SQLSERVER SQL性能优化系列

原文转自:
SQL编码规范(收集)     http://hi.baidu.com/rambochow/blog/item/3ebcbb3db3758903bba16743.html



1.选择最有效率的表名顺序(只在基于规则的优化器中有效)



2.WHERE子句中的连接顺序



   3.SELECT子句中避免使用'*'。当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用'*'是一个方便的方法,不幸的是,这是一个非常低效的方法。实际上,SQLSERVER在解析的过程中,会将'*'依次转换成所有的列名,这个工作是通过查询数据字典完成的,这意味着将耗费更多的时间



4.减少访问数据库的次数



5.使用DECODE函数来减少处理时间



6.用Where子句替换HAVING子句



7.减少对表的查询



8.使用表的别名(Alias)



9.用EXISTS替代IN



10.用NOT EXISTS替代NOT IN



11.用表连接替换EXISTS



12.用EXISTS替换DISTINCT



13.用索引提高效率



14.避免在索引列上使用计算



15.避免在索引列上使用IS NULL和IS NOT NULL



16.使用UNION-ALL和UNION
posted on 2008-09-02 18:20  黄小二  阅读(207)  评论(0编辑  收藏  举报