我们目前存在性能问题,因为我确信大多数数据驱动系统确实存在同样的问题。
目前,它们基本上分为两类,我认为一个解决方案可以解决:
存储过程有时会在计划不好的情况下在系统中自动重新编译,这会导致它运行得很慢。其原因是它首先重新编译的参数集不具有代表性/正常/最佳。然后,这会导致存储过程运行非常缓慢,需要重新编译以获得更好的计划
由于 SQL Server 工作方式的动态特性,随着表的增长,系统的不同部分可能会以不同的方式查询它——索引需要更改或代码更改需要删除次优编码,如 OR,函数在WHERE 条件等
是否有跟踪存储过程成本的系统表?
我们需要创建一个脚本,它应该在一周内(7 天)每小时运行一次,并且我们需要拥有/存储存储过程的数据(如执行时间、存储过程的成本等)。由此,我们可以识别出性能最差且运行时间较长的存储过程列表,并生成存储过程列表。由此,我们可以对这些存储过程进行调优以提高性能。