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

9/1/2015来源:SQL技巧人气:1555

更改并行度会清空执行计划缓存早上下面报告报表数据库反应很慢,远程桌面发现大查询过后,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优化的问题了。