SQL优化

如何找到性能瓶颈
系统庞大且运行缓慢,服务器内存和CPU占用居高不下,无法准备定位原因,可以通过记录系统运行一段时间的log,通过排序找出IO最高的语句来定位问题;
如果能够定位到某个存储过程或语句,可以通过执行计划来分析;
如果某个存储过程超时,但因为很复杂无法定位timeout的位置,可以通过Profiler找出stmtend为空的语句
对于Lighthouse或CSOA,可以通过Usagelogging找出存在starttine但endtime为空的记录;

分析性能瓶颈
首先要清楚缓存,带执行计划执行,然后分析执行计划

解决问题:如何查看执行计划
1. 查看是否存在Tablescan和indexscan
2. 是否存在大表关联;
3. index是否可以再优化,通过include更多列

4. 示例:

 

使用索引注意事项

你可能感兴趣的:(SQL优化)