同一条SQL为何执行计划会突然变化:从参数嗅探到多计划缓存的技术突围
想象这样一个场景:你的生产环境中有一个存储过程,平时执行只需几百毫秒,突然某天开始,同样的调用却需要几分钟甚至更长时间。你检查了服务器资源——CPU、内存、磁盘IO都正常。你把存储过程中的SQL语句单独拎出来执行,发现跑得飞快。你尝试ALTER一下存储过程(什么代码都没改),问题竟然消失了。 ...
想象这样一个场景:你的生产环境中有一个存储过程,平时执行只需几百毫秒,突然某天开始,同样的调用却需要几分钟甚至更长时间。你检查了服务器资源——CPU、内存、磁盘IO都正常。你把存储过程中的SQL语句单独拎出来执行,发现跑得飞快。你尝试ALTER一下存储过程(什么代码都没改),问题竟然消失了。 ...