【问题标题】:I would like to generate a SQL script for stored procedure performance monitoring我想生成一个用于存储过程性能监控的 SQL 脚本
【发布时间】:2017-05-03 04:22:42
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • 你使用的是哪个版本的sql server?
  • 以错误的执行计划重新编译的 sp 示例?
  • 如果您的 SP 运行缓慢,请识别带有错误计划的查询,并在其中添加 OPTION (RECOMPILE)。在开发过程中应该预料到这一点-。例如取决于参数,或使用与创建(和编译)SP 时相比会随着时间显着改变其统计数据的表。

标签: sql-server stored-procedures query-performance performance-monitor


【解决方案1】:
猜你喜欢
  • 2018-02-08
  • 1970-01-01
  • 1970-01-01
  • 2021-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-08
相关资源
最近更新 更多