【发布时间】:2018-01-15 10:11:20
【问题描述】:
在某些时期,我们发现 SQL Server 2012 实例(在 Azure VM 上)的查询速度很慢。
在分析这些查询(执行计划)时,计划没有明显错误,在管理工作室中运行它们会立即产生结果。
我的猜测是存在锁争用问题。
我的问题是:如何更好地了解这些查询运行缓慢的原因?
是否有适合这项工作的第三方工具? (例如 Redgate SQL 监视器)
根据经验,帮助诊断这类问题的内置 SQL 查询/工具不是很容易使用(手动查询、死锁图等)。
谁能指出我可以使用的出色工具或 SQL Server 中找出运行缓慢原因的简单方法的正确方向。
谢谢!
【问题讨论】:
-
您是否考虑过检查索引碎片?在大型数据库上,索引碎片就像中毒一样。
-
@ViKiNG 是的,你是对的......索引太可怕了。 140 多个索引 > 30% 的碎片......前 10 名都在 90% 以上。不过,这个问题有点 OT.. 我仍然想知道可以帮助可视化这个问题的工具(我通过运行手动 SQL 查询发现)。您可以向我指出有关如何对这些索引进行碎片整理的任何好文章? (上面没有很多过时的)。我在 SQL Server 2012 上。谢谢!
-
我也在寻找自己:)
-
不,谢谢...我忘记了碎片...这就是为什么我首先需要一个工具。当您需要做某事时,它会告诉您更主动的东西。与碎片相反,碎片(除非您有 DBA/维护计划)仅在您的性能不佳时才会弹出。
标签: sql-server sql-server-2012 sqlperformance