gpt4 book ai didi

SQL CASE 与乘法

转载 作者:行者123 更新时间:2023-12-04 22:41:12 24 4
gpt4 key购买 nike

我有这样的查询:

SELECT
CASE WHEN IsAdd = 1
THEN
Base + Extra
ELSE
Base
END
FROM MyTable

使用乘法来消除 CASE 语句会不会有更好的性能?

SELECT
Base + Extra * ISNULL(IsAdd, 0)
FROM MyTable

最佳答案

您无需担心此类优化。

SQL 查询的开销通常与读取数据、提取记录和返回结果有关。诸如乘法或比较之类的简单运算是次要的。一些操作可能变得昂贵(例如使用用户定义的函数、长字符串等)。但乘法通常不会是其中之一。

因此,请专注于最能代表您想要完成的工作的内容。您的两个查询不表达完全相同的逻辑。如果 IsAdd 仅采用 01NULL 的值,它们可能恰好相同。但您应该使用最能表达您意图的版本。

顺便说一下,我更喜欢 COALESCE() 而不是 ISNULL() 因为它是标准的。

关于SQL CASE 与乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50368214/

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