【问题标题】:How to get better insights on slow-running SQL queries如何更好地了解运行缓慢的 SQL 查询
【发布时间】: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


【解决方案1】:

我发现最好的“免费”工具是 Brent Ozar 提供的 Blitz 工具(第一响应者工具包的一部分),发现 here.

使用这些工具,您应该能够很快发现问题,并且 sp_blitzindex 将提供有关索引的各种信息。您可以根据需要自动执行/通知。

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多