热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

关于VS调用存储过程加载很慢和SQL执行很快的那些事

执行同样的存储过程,调用同样的参数在VS中调用存储过程和传参后,到数据加载需要20秒或更多,在SQL直接调用则不到一秒,同一个存储过程为什么有这么大的区别呢?原因:存储过程计划失效的原因

执行同样的存储过程,调用同样的参数

在VS 中调用存储过程和传参后,到数据加载需要20秒或更多,

在SQL直接调用则不到一秒,同一个存储过程为什么有这么大的区别呢?

原因:存储过程计划失效的原因

产生原因:存储过程涉及到的对象表结构发生改变或数据量发生大的变化。

解决方案1:  

  1、重启数据库服务

  2、执行exec sp_recompile @objname='存储过程名称'

 

  3、重新执行一次存储过程

解决方案2:  

   使用 WITH RECOMPILE 每次运行都编译存储过程

  对于不经常使用的SQL,可以使用这种方案

  例子:

ALTER PROCEDURE [dbo].[Proc_test]
WITH RECOMPILE

 

  

 


推荐阅读
author-avatar
邓世璇_664_425
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有