2011-09-22 118 views
0

我有一个SQl查询返回30,000+条记录,包含15列。我正在为存储过程传递一个NVARCHR(50)参数。存储过程中的函数 - SQL 2008

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

由于有超过30000条记录需要提取及其拍摄时间,对我有什么建议。

我是否获得任何性能优势,如果我在存储过程中使用的功能有(获得基于我传递的参数单独列)

请让我知道,如果你需要在相同的更多信息。

谢谢

+0

可能是它的帮助。
[http://stackoverflow.com/questions/1179758/function-vs-stored-procedure-in-sql-server][1] [1]:http://stackoverflow.com/questions/1179758 /功能vs存储过程中的SQL服务器 –

+1

不是很清楚你在问什么或建议的功能会做什么,但通常这些不会造成任何性能优势,并可能导致性能问题。感谢tricat –

回答

0

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

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

在性能方面,存储过程通常会更快,但它取决于您的查询的优化程度和/或表的设计方式,或许您可以给我们一个例子,说明您正在努力实现的目标。

+0

.. –

0

函数可能不会是要走的路。 30000行并不是那么多,这取决于查询的共同点。你最好专注于优化过程中的SQL,或者检查你的索引设置是否正确。

相关问题