【发布时间】:2009-06-21 14:26:43
【问题描述】:
我使用的是 Sql Server 2008。我的存储过程接受近 150 个参数。性能方面有什么问题吗?
【问题讨论】:
标签: sql sql-server-2008 stored-procedures
我使用的是 Sql Server 2008。我的存储过程接受近 150 个参数。性能方面有什么问题吗?
【问题讨论】:
标签: sql sql-server-2008 stored-procedures
当您使用 SQL Server 2008 时,您可以使用新的 Table 参数。 如果参数相同,可以很方便的使用table参数。
这里是MSDN 的链接。 这里是another link,稍微解释一下
享受吧。
【讨论】:
也许从性能的角度来看这不是问题。但从维护的角度来看。
您可以考虑将数据作为单个 xml 参数发送。详情见:
【讨论】:
在性能方面没有任何问题,但它闻起来可以用动态 SQL 更好地完成。不看代码很难分辨。
【讨论】:
最大值为 1,024, 但我认为150有点多
【讨论】:
SQL Server 新闻组中的常客会熟悉 Joe Celko 和 Tony Rogerson 之间的许多争吵,其中之一就是关于使用具有大量参数的存储过程是否是个好主意的问题。
因为这个问题是关于性能的,所以这里是 Tony 的论点:
Don't use CSV/XML - use 1,000 Parameters instead!
托尼·罗杰森(Tony Rogerson)是英国人(美国 = limey),标题很讽刺(美国 = NULL)。
【讨论】:
您绝对应该找出所有参数的原因。
【讨论】: