【发布时间】:2011-04-11 10:12:44
【问题描述】:
我想将多个值(最多十个)与返回最小值的函数进行比较。
我的同事写了这样的函数:
set @smallest = null
if @smallest is null or @date0 < @smallest
begin
set @smallest = @date0
end
if @smallest is null or @date1 < @smallest
begin
set @smallest = @date1
end
... (repeating 10 times)
除此之外,if 语句可以写得更聪明(第一次比较后空检查可能会消失)我想知道创建一个内存索引表并让函数返回第一个值会更有效吗? 有没有我可以阅读的文档?
【问题讨论】:
-
当前信息是如何存储的?你可以运行 MIN() 吗?
-
不,这些是数据行中的单独字段。目前比较了三个值,但该方法目前最多支持 10 个。
标签: sql-server performance function stored-procedures