sql-server-2005 - SQL Server 性能 - 运行即席查询与在存储过程中编译的查询

标签 sql-server-2005

存储过程运行速度非常慢(>60 秒)是否有任何逻辑原因,但如果我运行与常规 SQL 脚本完全相同的代码,它将在不到 3 秒的时间内执行?

以我的思维方式,它们应该运行相同,但这不是我所看到的。我怀疑还有其他事情发生,但想看看其他人是否也见过类似的事情。

情况是我的客户报告 SP 运行缓慢,我确认了这一点,所以我添加了一个索引,在 SP 之外运行代码,它运行得非常快,但后来我重新运行 SP,它并没有改善.

为了以防万一,我还删除并重新创建了 SP,但不知何故,每次 SP 运行时似乎都可能使用旧的执行计划?

最佳答案

可能是参数嗅探,或者可能在将 ARITHABORT 设置为 OFF 的情况下调用过程

你能显示代码吗?

关于sql-server-2005 - SQL Server 性能 - 运行即席查询与在存储过程中编译的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2201825/

相关文章:

sql - 您可以在 SQLServer 2k5 中的链接服务器表的 View 上使用外键吗?

sql - 在 SQL View 中将地址列拆分为单独的列

sql - 在 SQL SELECT 语句中给出条件

sql-server - SSRS 报表生成器 2.0 - 与 SQL 2005 一起使用

sql-server-2005 - SQL Server 日期时间数据类型不允许多种格式

sql - T-SQL : How to return 0 rows in from stored procedure, 以及如何使用 XACT_ABORT 和 TRY/CATCH

sql-server - 检索以前版本的存储过程

sql - 如何选择特定字符后的数据

sql - 从日期时间列获取一个月中的周数

sql - 如何将数字转换为以逗号分隔的数字格式字符串?