前端调用存储过程很慢,但是在数据库执行很快,解决方案
*原因:**选项可以指示 SQL Server 每次执行存储过程时都复用上一次编译的执行计划。有时候存储过程的执行计划会因为参数值的不同而产生变化 , 存储过程的执行计划会被缓存,如果存储过程的执行计划过多且占用了大量内存,可能会导致内存压力增加,出现前端调用存储过程很慢,但是在数据库执行很快。如果特别频繁发生这种问题的时候 添加WITHRECOMPILE。**治标解决方案:**重新编译一遍存储过
·
原因:选项可以指示 SQL Server 每次执行存储过程时都复用上一次编译的执行计划 。 有时候存储过程的执行计划会因为参数值的不同而产生变化 , 存储过程的执行计划会被缓存,如果存储过程的执行计划过多且占用了大量内存,可能会导致内存压力增加,出现前端调用存储过程很慢,但是在数据库执行很快。
治标解决方案:重新编译一遍存储过程
治本解决方案:
如果特别频繁发生这种问题的时候 添加WITH RECOMPILE
让存储过程每次重新编译
CREATE PROCEDURE YourStoredProcedureName
WITH RECOMPILE
AS
BEGIN
-- 存储过程的主体逻辑
-- 这里是你的存储过程代码
END
;

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)