存储过程中的函数 - SQL 2008

时间:2011-09-22 09:44:12

标签: sql-server-2008

我有一个SQl查询,返回30,000条记录,包含15列。我正在为商店过程传递一个NVARCHR(50)参数。

目前我正在使用存储过程从数据库中获取数据。

由于要获取30,000多条记录及其花费时间,对我来说会有什么建议。

如果我在存储过程中使用函数(根据我传递的参数获取单个列),是否可以获得任何性能优势

如果您需要更多信息,请告诉我。

谢谢

2 个答案:

答案 0 :(得分:0)

功能可能不是可行的方法。 30000行并不多,具体取决于查询的复杂程度。您最好专注于优化proc中的SQL,或者检查您的索引是否设置正确。

答案 1 :(得分:0)

除非没有其他方式来获取您的数据,否则我不会使用函数。

从SQL2005开始,您在存储过程(例如WITH和CROSS APPLY子句)中具有额外的功能,这使得我们在以前版本的SQL中可以使用UDF解决的某些限制更容易。

在性能方面,存储过程通常会更快,但这取决于您的查询优化程度和/或表格的设计方式,也许您可​​以举例说明您要实现的目标。< / p>