1

我们目前存在性能问题,因为我确信大多数数据驱动系统确实存在同样的问题。

目前,它们基本上分为两类,我认为一个解决方案可以解决:

  1. 存储过程有时会在计划不好的情况下在系统中自动重新编译,这会导致它运行得很慢。其原因是它首先重新编译的参数集不具有代表性/正常/最佳。然后,这会导致存储过程运行非常缓慢,需要重新编译以获得更好的计划

  2. 由于 SQL Server 工作方式的动态特性,随着表的增长,系统的不同部分可能会以不同的方式查询它——索引需要更改或代码更改需要删除次优编码,如 OR,函数在WHERE 条件等

是否有跟踪存储过程成本的系统表?

我们需要创建一个脚本,它应该在一周内(7 天)每小时运行一次,并且我们需要拥有/存储存储过程的数据(如执行时间、存储过程的成本等)。由此,我们可以识别出性能最差且运行时间较长的存储过程列表,并生成存储过程列表。由此,我们可以对这些存储过程进行调优以提高性能。

4

1 回答 1

0

从这里开始:来自 Brent Ozar Unlimited 的 sp_BlitzFirstgithub 上的 BrentOzarULTD/SQL-Server-First-Responder-Kit

在她的页面上引用 Kendra Little 进行性能监控

只有当没有人提供适合您的解决方案时,编写自己的工具才值得。

于 2016-12-17T15:50:24.700 回答