读书人

sql优化的一些心得

发布时间: 2012-10-07 17:28:51 作者: rapoo

sql优化的一些经验:
sql优化的经验:
1.选择最有效率的表名顺序:记录数最少的表作为其表,放在最后;
2.WHERE子句中的连接顺序:那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾;
3.减少访问数据库的次数:少使用子表查询,多使用表连接;
4.使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表;
5.用Where子句替换HAVING子句避免使用HAVING子句,HAVING只会在检索出所有记录之后才对结果集进行过滤,这个处理需要排序、统计等操作;
6.用NOT EXISTS替代NOT IN:NOT IN子句将执行一个内部的排序和合并,无论在哪种情况下,NOT IN都是最低效的,因为它对子查询中的表执行了一个全表遍历;
7.用表连接替换EXISTS:通常来说,采用表连接的方式比EXISTS更有效率 ;
8.用索引提高效率;
9.避免在索引列上使用IS NULL和IS NOT NULL ;
10.使用UNION-ALL代替UNION ;

读书人网 >SQL Server

热点推荐