简单的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语句并调优,重复以上步骤。

 

   

 

posted on   Mainz  阅读(945)  评论(3编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述

导航

统计

点击右上角即可分享
微信分享提示