4

从另一个存储过程中调用一个存储过程是否会影响性能?我一直无法找到有关此的任何答案。如果它确实对性能产生负面影响,我想唯一的选择是将这些程序合并为一个更大的程序。

我知道由于 SQL 计划查询统计信息的方式,它会对 Sprocs 中的函数调用性能产生负面影响(最好只在 SProc 中重新键入代码),但我想这仅适用于函数。

提前致谢!

4

1 回答 1

4

我从未见过存储过程本身调用另一个存储过程的性能问题。

然而,我看到事务远远大于必要的——导致严重的性能问题——因为开发人员在不了解后果的情况下扩展了内部存储过程。

这是另一个问题示例:有一个“不错”的存储过程,对于许多场景来说几乎是完美的,编码器到处都在使用它。但是,存储过程实际上返回的列数是 90% 的调用者实际需要的列数的两倍。调用代码未优化。

这就是为什么存储过程应该只有简单的基于集合的逻辑,以及为什么我反对具有过程逻辑和调用其他存储过程的复杂存储过程。

所以...最好避免恕我直言。

于 2012-11-27T18:37:37.287 回答