【问题标题】:SQL Server 2005 - optimizing stored proceduresSQL Server 2005 - 优化存储过程
【发布时间】:2012-06-28 11:04:29
【问题描述】:

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

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

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

谢谢。

【问题讨论】:

  • 您是否在同一个数据库中执行这些操作?还是不同的?听起来它是两个独立的数据库,第二个数据库有例如过时的统计数据或类似的东西。

标签: sql sql-server-2005 stored-procedures


【解决方案1】:

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

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

在 2008 年有一个不错的 OPTIMIZE FOR 功能,但在 2005 年你却被 WITH RECOMPILE 卡住了。这意味着每次运行时都会重新编译,这在某些情况下是最佳的!

【讨论】:

  • 感谢您的信息。在 Sql Server 2005 上运行这 2 个过程。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-18
相关资源
最近更新 更多