zoukankan      html  css  js  c++  java
  • 简单的SQL Server性能调优

    目的是查看系统(应用程序+数据库)调用SQL Stored Procedure存储过程和SQL语句的性能,查出哪儿慢?哪个存储过程最耗用时间?

    有的时候你在一个表设了好几个索引 ( Clustered / Non-clustered Index ),结果还是很慢(全表扫描),因为你的索引根本没有被命中,根本没有被出现在WHERE或者ORDER BY里面!

    1. 打开Profiler:

        "Start - Programs - SQL Server2005 -  Performance Tools - Sql Server Profiler"

    2. 点击工具栏第一个button - "New Trace..."

    3. 在第一个Tab : General中打勾 "Save to table", 输出到表。

        在弹出的窗口中选择master数据库, 表名随意,例如jq

    4. 在第二个Tab : Events Selection中,不要选择Security安全和Session部分,只选择存储过程和SQL。

    5. 点击RUN。

    如果出现错误:“only TrueType fonts are supported. There id not a TrueType font”,则在Profiler的 Tools菜单->Options中选择"Choose Font..."选择其他字体即可。

    6. 开始监控后,启动Application,运行多久随意,可以监控高峰时段也可以。监控结束后,点击Stop。

        

    7. 打开SQL Server management studio, 链接到master数据库,输入sql语句:

        select top 500 * from jq order by duration desc;

    8. 可以看到耗时最久的存储过程。接下来具体分析每个存储过程的SQL语句。

        可以通过执行计划( Execution Plan )来检测。

        菜单:"Query" - "Display Estimated Execution Plan."

              

       

       


    9. 修改SQL语句并调优,重复以上步骤。

       

  • 相关阅读:
    一个小企业招人的胡思乱想
    7 搜索关键词 && 提问
    6. 搜索&&学习常用站点
    5. Github的使用
    2020 renew 博客目录
    4. 版本控制
    3. 项目管理规范 && 命名方式规范
    2.7 C#语法的学习(小结)
    2.6 C#语法的学习(六) && 异常处理 && 调试
    2.5 C#语法的学习(五) && 判断
  • 原文地址:https://www.cnblogs.com/Mainz/p/1256562.html
Copyright © 2011-2022 走看看