0

我在 SQL Server 2005 中有 2 个存储过程 (sp1sp2) 具有相同的 sql 脚本(除了名称之外根本没有差异)。

当我尝试执行sp1时,它会在 0-1 秒内返回超过 3000 行。但是当我运行sp2它时,它将在 10 秒内返回这 3000 行。

想知道是否有任何工具/命令/任何东西可以设置特定的存储过程来优化?

谢谢。

4

1 回答 1

0

SQL Server 保存了如何执行代码的“计划”。

如果存储过程针对一小部分数据运行,它将针对小数据集进行优化。对于大型数据集,情况正好相反。

2008 年有一个不错的OPTIMIZE FOR功能,但在 2005 年,您仍然坚持使用WITH RECOMPILE. 这意味着它将在每次运行时重新编译,这在某些情况下是最优化的!

于 2012-06-28T11:26:23.620 回答