在select查询中两次调用用户定义的函数会导致效率低下吗?

问题描述 投票:0回答:1

我有一个简单的表格,存储了人们的生日。我还有一个简单的标量用户定义函数,其中函数采用“Date”对象(生日)并返回int(Age)。我写了一个查询,试图选择年龄为17岁的每个条目。

在“选择”查询中,“dbo.calculateAge(Birthday)”被写了两次,所以我只是想知道,这是否意味着“calculateAge”函数将被调用两次?这会导致效率低下吗?如果是,是否有更好的方法来编写此查询?

我的查询:

enter image description here

我的表:

enter image description here

我选择不在此处包含“calculateAge”函数的实现,因为我不认为它对我问的问题有用。

sql sql-server function
1个回答
1
投票

这是否意味着“calculateAge”函数将被调用两次?

不,只有一次。但可以肯定的是,确保您的函数被声明为确定性的。

这会导致效率低下吗?

没有。

如果是,是否有更好的方法来编写此查询?

没关系。

© www.soinside.com 2019 - 2024. All rights reserved.