怎样查出SQLsql server 性能优化的性能瓶颈

posts - 268,&
comments - 23,&
trackbacks - 0
我经常会被反复问到这样的问题:&我有一个性能很差的SQL Server。我如何找出最差性能的查询?&。因此在今天的文章里会给你一些让你很容易找到问题答案的信息向导。
问SQL Server!
SQL Server的一个优点是它本身能回答几乎所有你的问题,因为SQL Server在各个DMV和DMF里存储了很多故障排除信息。另一方面这也是个缺点,因为你必须知道各个DMV/DMF,还有如何把它们解释和关联在一起。
至于你的最差性能SQL Server查询的一个最重要的DMV是sys.dm_exec_query_stats。对于每个缓存的执行计划,SQL Server存储了这个执行计划在运行时的详细信息。另外SQL Server告诉你这个查询消耗的CPU时间和I/O读取。当我对性能很差的SQL Server进行故障排除时,这是我经常使用的基本DMV之一。
让我们进入sys.dm_exec_query_stats!
当你对sys.dm_exec_query_stats进行一个简单的SELECT查询,你会得到有很多不同列的一个非常广泛的记录集&&有大量的不同数字。
我们来仔细看下它们。对于每个缓存的执行计划,SQL Server给你下列度量的信息:
Worker Time (columns &_工作者时间)
Physical Reads (columns &_物理读)
Logical Writes (columns &_逻辑写)
Logical Reads (columns &_逻辑读)
SQLCLR Time (columns &_公共语言运行时间)
Elapsed Time (columns &_运行时间)
Row Count (columns &_行数)
对于每个度量,你得到4个集合信息的不同列:
总值(Total value)
上个值(Last value)
最小值(Min value)
最大值(Max value)
手上有了这些信息找出你性能最差的查询是什么。但首先你要知道什么是你的性能瓶颈&&CPU还是I/O限制?如果你的性能瓶颈是CPU限制,你可以用下列查询问SQL Server根据CPU消耗列出前5个最差性能的查询:
-- Worst performing CPU bound queries
SELECT TOP 5
qp.query_plan,
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.plan_handle) st
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
ORDER BY total_worker_time DESC
你可以看到这里我使用了简单的ORDER BY total_worker_time DESC来返回CPU密集的查询。另外也通过调用sys.dm_exec_sql_text和sys.dm_exec_query_plan DMF来抓取SQL语句和执行计划本身。下列代码显示如何依据I/O消耗来找出你性能最差的查询。&
1 -- Worst performing I/O bound queries
2 SELECT TOP 5
qp.query_plan,
6 FROM sys.dm_exec_query_stats qs
7 CROSS APPLY sys.dm_exec_sql_text(qs.plan_handle) st
8 CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
9 ORDER BY total_logical_reads DESC
当在你面前有SQL语句和执行计划时,你可以进一步分析查询找出是什么引起高CPU或I/O消耗。
阅读(...) 评论()君,已阅读到文档的结尾了呢~~
[计算机]怎样查出SQLServer的性能瓶颈怎样查出 sqlserver 的性能瓶颈 --王成辉翻译整理,转贴请注明出自微软 bi 开拓者[url]windbim[/url] --原帖地址 如果你曾经做了很长时间的 dba,那么你会了解到 sqlserve 的性能调优不是一个精密的 科学。即使是,对于为最佳的性能找到最佳的配置也是很困难的。这是因为对于调优来说很 少东西是绝对的。例如,一个性能调优可能对某一方面有用,可是却会..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
[计算机]怎样查出SQLServer的性能瓶颈
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 sql server io 瓶颈 的文章

 

随机推荐