首页 > 其他 > 详细

更改并行度会清空执行计划缓存

时间:2014-04-04 15:05:43      阅读:569      评论:0      收藏:0      [点我收藏+]
早上下面报告报表数据库反应很慢,远程桌面发现大查询过后,cpu不怎么动,于是我试着把并行度从0改成了32,恢复正常。
按道理根据我的服务器配置并行度为0跟32是一样的效果,为什么会恢复正常呢?
 
以下是群里继伟大神给的答案:
从0改成32后你的执行计划缓存会被清空,从而重新生成执行计划.你不能动是应该发生了参数嗅探致使低效
,从0变成32也好,变成1也好都会有一定效果.但过段时间问题有可能又会出现.
 
从错误日志里我也找到了答案:
xp_readerrorlog:
Configuration option ‘max degree of parallelism‘ changed from 0 to 32. Run the RECONFIGURE statement to install.
SQL Server has encountered 1 occurrence(s) of cachestore flush for the ‘Object Plans‘ cachestore (part of plan cache) due to some database maintenance or reconfigure operations.
SQL Server has encountered 1 occurrence(s) of cachestore flush for the ‘SQL Plans‘ cachestore (part of plan cache) due to some database maintenance or reconfigure operations.
SQL Server has encountered 1 occurrence(s) of cachestore flush for the ‘Bound Trees‘ cachestore (part of plan cache) due to some database maintenance or reconfigure operations.
 
接下去就是SQL优化的问题了。

更改并行度会清空执行计划缓存,布布扣,bubuko.com

更改并行度会清空执行计划缓存

原文:http://www.cnblogs.com/ajiangg/p/3644735.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!