SQL rtrim выберите и сгруппируйте по - PullRequest
0 голосов
/ 23 января 2012

Если вы поместите ритрим в SELECT, а также снова в GROUP BY, это будет неэффективно, потому что его ритринг дважды, один в селекте и один в группе?например ...

SELECT
rtrim(people.FORENAME1)+ ' ' + rtrim(people.SURNAME)AS Full_Name,

FROM 
my table

GROUP BY 
rtrim(people.FORENAME1)+ ' ' + rtrim(people.SURNAME)

1 Ответ

3 голосов
/ 23 января 2012

Возможно, она выполняется только один раз, но неэффективно, поскольку не поддерживает SARGable.

Поскольку вы применяете функцию, оптимизатор не может использовать любые существующие индексы, которые относятся кэти поля.Он не знает результатов функций до тех пор, пока они не будут запущены, поэтому ему нужно обработать каждую строку в таблице.

...