请问谁遇到过:存储过程比直接运行SQL语句慢 最后解决了的?

0
已邀请:
2

BIWORK - 热衷于微软BI技术,技术架构和解决方案! 2013-12-04 回答

重新编译一下你的存储过程试一下,一般情况下应该在存储过程中查询和直接查询速度应不大。也有可能是执行计划变化吧,因为你单独运行 SQL 查询是一种执行计划,存储过程会编译好,已经有一个执行计划,但是可能源数据或者表结构发生了很大的变化,比如数据量上去了,因此原来在存储过程中的执行计划可能就不好用了。

可以试一下 EXEC SP_RECOMPILE @ObjName ='存储过程名称' 我的用的是 SQL Server 2012 执行没有问题,不知道其它环境下 这个参数名称是不是还是叫 @ObjName 可以试一下。
0

BIWORK - 热衷于微软BI技术,技术架构和解决方案! 2013-12-04 回答

还可以了解一下一个叫 Parameter Sniffing 的东西。

要回复问题请先登录注册