SQL server 系统优化--通过执行计划优化索引(1)

       前几天,远离上海,到了温州,在客户的这边处理系统慢,该系统每天正常down机7次左右,在线人员一多,系统运行缓慢,严重影响业务操作,到了无法忍耐的地步,这几天一直在这边处理优化中的问题和升级系统。将这些优化办法和思路记录下来,给大家在以后优化系统中提供思考和建议。

       这几天都在通过执行计划来优化索引:

       1,首先通过DMVs性能视图来查看那些性能问题是可以通过索引来优化的。先在生产数据库里执行下列查询:

            sql server性能分析--执行sql次数和逻辑次数

    查看部分得到结果(注意平均时间):        

    

     这里我们看到语句的执行时间和执行语句,我们拷贝一个运行比较慢的sql出来。预估sql执行计划,查看执行计划: 

      

    分析:这里我们看到整个复杂的执行计划中,通过RID查找数据的开销占到了80%的时间。我们这里看看他通过RID是查询什么数据。

   

    原来是通过RID只查询workflowid数据。上面是通过索引查找(index seek)来查询数据,这时最好是做到索引覆盖,将workflowid包含到上面的索引,这样一来该sql语句的执行速度大大提高。

   总结:

      这几天都是通过类似的方法来评估系统的使用,再优化索引提高速度,到现在为止系统性能比先前要提高很多。

      继续努力......

posted @ 2008-09-11 15:51  zping  阅读(5236)  评论(12编辑  收藏  举报