如果你把一个rtrim放在SELECT中并且再次放在GROUP BY中,这是否效率低,因为它的rtriming两次,一个在select中,一个在group by中? e.g ....
SELECT
rtrim(people.FORENAME1)+ ' ' + rtrim(people.SURNAME)AS Full_Name,
FROM
my table
GROUP BY
rtrim(people.FORENAME1)+ ' ' + rtrim(people.SURNAME)
答案 0 :(得分:3)
它可能只执行一次该功能,但效率低,因为它不是SARGable。
由于您正在应用函数,优化器无法使用任何引用这些字段的现有索引。它在运行之前不知道函数的结果,因此它需要处理表中的每一行。