SQL Alias ​​vs dbo.prefix - производительность запросов - PullRequest
3 голосов
/ 14 декабря 2011

Предполагается, что вы используете MS SQL Server:

Какой из этих запросов будет выполняться быстрее всего и ПОЧЕМУ?

Я собираюсь угадать последний, как я думаючто псевдонимы разрешаются в свои таблицы только один раз?

SELECT  Account.AccountName, 
        AccountStatus.AccountState
FROM 
        dbo.Account
        INNER JOIN dbo.AccountStatus ON Account.AccountStatusID = AccountStatus.AccountStatusID
GO

SELECT  dbo.Account.AccountName, 
        dbo.AccountStatus.AccountState
FROM 
        dbo.Account
        INNER JOIN dbo.AccountStatus ON dbo.Account.AccountStatusID = dbo.AccountStatus.AccountStatusID
GO

SELECT  A.AccountName, 
        AST.AccountState
FROM 
        dbo.Account AS A
        INNER JOIN dbo.AccountStatus AS AST ON A.AccountStatusID = AST.AccountStatusID
GO

1 Ответ

8 голосов
/ 14 декабря 2011
  • Они будут точно одинаковыми в терминах исполнения
  • Разница во времени компиляции не будет измерима
  • 3-йформа наиболее читаема
  • 2-я форма раздувает запрос
  • 1-я форма раздувает запрос и является наиболее запутанной
...