gpt4 book ai didi

t-sql - 重用 WHERE 子句中的字段值

转载 作者:行者123 更新时间:2023-12-01 16:18:52 25 4
gpt4 key购买 nike

如何优化以下 T-SQL 的性能,以便仅调用一次 heavyFunctionCall 函数。

正在寻找表变量、临时表、CTE 或其他内容中最快的选项?

SQL:

select dbo.heavyFunctionCall(a, b, c) 
from T
where dbo.heavyFunctionCall(a, b, c) > 10

最佳答案

这样做只会在每一行运行您的函数一次,而不是两次:

SELECT * 
FROM (
SELECT dbo.heavyFunctionCall(a, b, c) AS x
FROM T) a
WHERE x > 10

关于t-sql - 重用 WHERE 子句中的字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28694968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com