Псевдонимы таблиц и оптимизатор запросов - PullRequest
1 голос
/ 19 декабря 2011

Из комментария к https://stackoverflow.com/a/11064/247702

Вы избавляете планировщика запросов от необходимости выяснять это с помощью либо Answer.Text, либо a.Text. Неважно, используете ли вы имя таблицы или псевдоним, но определение поля помогает.

Верно ли это для SQL Server 2008 при запросе одной таблицы? Например, будет ли это

select
    mt.myfield
from
    mytable mt
where
    mt.myid = 1

Быть быстрее, чем это?

select
    myfield
from
    mytable
where
    myid = 1

Я мог бы проверить этот курс, но у меня нет достаточно большого набора данных, и я не знаю, как надежно проверить производительность SQL Server.

1 Ответ

1 голос
/ 19 декабря 2011

В случае, если вы представили, я думаю, что это будет то же самое.

Единственная проблема может быть, когда вы объединяете с несколькими таблицами, и оптимизатору запросов необходимо найти столбец в предложении where (ввсе таблицы).Если вы используете псевдонимы, оптимизатор запросов уже знает, к какой таблице относится каждый столбец.

...