MSSQL执行计划的优化建议
执行计划:提交sql语句,数据库查询优化器,经过分析生成,制定多个查询方式,从中选择资源使用最少的
数据库制定执行计划是按照使用资源最少,而不是时间最短
对应的意思:
1、受影响的行数
2、影响的字节数
3、影响的数据大小
执行计划:
1、Table Scan 全表扫描 性能最差
2、Cluster Index Scan 性能最差,同上 虽然有聚集索引,其实也是全表扫描
3、Index Seek(NonClustered) 性能非常高
4、Index Scan 先index,再扫描
5、Cluster Index Seek 性能最高
一般出了问题,看看执行计划,找出scan,换索引,看效果,尝试
profiler好工具
常规的SQL优化建议:
1、对列的计算要避免,任何形式都要避免
2、in查询 or查询,索引会失效,可能是拆分
3、in 换exists
not in 不要用,不走索引
4、is null和is not null 都不走索引
5、<> 也不走索引
可以拆分成> 和<
6、join时,链接越少性能越高
左链接,以左边的结果为准
右链接反过来,
连接字段要求带索引