我正在重写一些旧的存储过程,并且在使用函数而不是内联代码时遇到了意外的性能问题.
功能非常简单如下:
ALTER FUNCTION [dbo].[GetDateDifferenceInDays] ( @first_date SMALLDATETIME,@second_date SMALLDATETIME ) RETURNS INT AS BEGIN RETURN ABS(DATEDIFF(DAY,@first_date,@second_date)) END
所以我有两个相同的查询,但是一个使用该函数,另一个在查询本身进行计算:
ABS(DATEDIFF(DAY,[mytable].first_date,[mytable].second_date))