Подтвердить что ты не робот

Как имена псевдонимов таблицы влияют на производительность?

При чтении о настройке SQL-запросов я где-то читал: "Всегда используйте псевдоним таблицы и префикс всех имен столбцов с псевдонимами, когда вы используете более одной таблицы".

Как имена псевдонимов таблицы влияют на производительность? Или они действительно влияют?

4b9b3361

Ответ 1

Псевдоним не влияет на производительность каким-либо практическим или измеримым способом (курсив, добавленный при редактировании). То есть, это добавило бы едва (если все) измеримую задержку для компиляции запросов. После компиляции (и повторного использования) это не влияет.

Псевдоним удаляет двусмысленность, если у вас более одной таблицы, потому что вы знаете, из какой таблицы она исходит. Это также предотвращает изменение таблиц в будущем из-за нарушения запроса. Скажем, вы добавляете столбец аудита в одну таблицу, где он уже существует в другой таблице. Запросы без псевдонимов, использующих обе таблицы, будут прерываться.

Псевдоним также является обязательным в некоторых случаях, например. связанные схемы.

Механизм синтаксического анализа SQL (который считывает все запросы перед их исполнением и использует информацию для кэширования скомпилированных запросов в будущем для более быстрого выполнения) - это единственное, что смотрит на псевдонимы и использует его для устранения неоднозначностей в поиск символов. Система уже выдавала символы, как и любой другой компилируемый оператор на любом другом языке, когда он анализируется до исполнения-хранения.

Ответ 2

Практически не влияет на производительность, но вы получите гораздо больше времени на чтение запроса. Это просто для вашего удобства.

Влияние производительности - выделение нескольких килобайт памяти для хранения имен псевдонимов и т.д. в самой программе SQL Server. По сравнению с остальными операциями, необходимыми для выполнения вашего запроса, это почти ничего.