作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个存储过程,它通常运行得非常快(几乎不到几秒钟),但有时奇怪的是,具有相同参数的相同过程需要几分钟才能执行。但是,如果此时我对索引进行碎片整理,它会在几秒钟内再次开始运行。
这可能是因为糟糕的执行计划或零散的索引?
如果是这样,有没有办法让这个过程不依赖于执行计划或碎片索引?
提前致谢,约瑟夫
最佳答案
好吧,根据您的 SP,解决方案可能通过以下选项:
1/WITH RECOMPILE
可以节省你的一天。这通过重新编译 SP 增加了总执行时间,但它确保您将拥有最佳执行计划。
2/KEEPFIXED PLAN
也可能是一种选择。
3/值得一试 OPTIMIZE FOR
如果您有一组从统计角度来看“具有代表性”的参数。
4/监控相关表和索引的碎片级别。检查是否有大量更新您的 SP 使用的表的语句。如果是,update statistics ( UPDATE STATISTICS <tablename>;
)
5/参数嗅探也可能是根本原因。
您可以进一步了解详情并查看 list of causes of recompilations .
关于sql-server - 由于计划不当或索引碎片化,MS SQL 查询速度变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23362311/
我正在编写一个 native iOS 7 应用程序,需要从 JSON api(由我控制)检索数据。 JSON 输出示例如下: { "id" : "544", "name" : "1900 Green
我是一名优秀的程序员,十分优秀!