1

来自对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 性能。

4

1 回答 1

1

在您提出的情况下,我认为这将是同一件事。

唯一的问题可能是当您加入多个表并且查询优化器需要在 where 子句(在所有表中)中定位列时。如果您使用别名,则查询优化器已经知道每列是哪个表。

于 2011-12-19T10:02:04.740 回答