【发布时间】:2012-08-18 04:13:58
【问题描述】:
更好,我的意思是它会以非边际量提高性能吗?
也就是说,我每次调用GETDATE(),服务器要返回那个值,服务器做了多少work?
如果我在存储过程的许多地方使用GETDATE(),我是否应该创建一个变量来存储交易日期?
declare @transDate datetime = GETDATE()
基准数据会很棒。
编辑我想澄清一下:我主要感兴趣的是这两种可能性之间的实际性能差异,以及它是否重要。
【问题讨论】:
-
性能差异将非常微不足道或不存在。如果在重新评估的上下文中使用 GETDATE(),我会担心结果的准确性。
-
感谢您为我解决这个问题。正如我所提到的,我主要对性能感兴趣。当准确性至关重要时,使用变量显然是最佳选择。
-
准确性何时不重要?
-
@aaron:查询多行时性能差异很大,请参阅下面接受的答案,它也准确地反映了我们的观察结果。
-
好的,我就到此为止。这不是要证明我是否可以复制任何东西,而是要帮助 OP。陈述了我对这个问题的经验,并且下面有足够好的 cmets。我有比在这里的 cmets 进行火焰战更好的事情要做。
标签: sql sql-server performance sql-server-2008 tsql