首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >性能问题- max_elapsed_time

性能问题- max_elapsed_time
EN

Stack Overflow用户
提问于 2020-10-13 05:40:48
回答 1查看 147关注 0票数 0

我在生产中运行了一个sp,其max_elapsed_time = 87269.399和avg_elapsed_time (ms) = 10.24。也是max_logical_reads : 8180303 avg_logical_read = 3803.83795958974

有谁能帮助我们理解为什么我们在最大时间和平均时间上有这么多的时间差异。可能是什么原因。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-13 06:44:25

没有任何更多的信息,我的抛硬币回答(例如,我猜50%的机会是正确的)是参数嗅探。

以下是布伦特·奥扎尔( Brent Ozar )关于识别和修复方法的极好的一小时视频

编辑:当然,还有很多其他的可能性。

  • 存储过程中有不同的代码分支(例如,在某些情况下,运行这些额外昂贵的查询)。
  • 糟糕的统计数据(不是最新的)也可能增加其他问题的影响。
  • 溢出到磁盘(例如,当结果比内存授权大得多时)也会大大减慢速度。
  • 循环的大小/运行次数会有很大的变化。
  • 其他长期查询和/或维护任务阻止SP继续执行
  • Server以您不期望的方式使用存储过程中的视图(例如,当JOINing对其他表的视图时,Server可能对每一行执行整个视图一次,而不是作为单个虚拟表执行一次)。

另一方面,大多数人在查看存储过程时将能够找到和修复(或至少理解)大量上述内容。但是,如果您没有听说过参数嗅探,那么您就不太可能自己发现它了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64329188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档