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

もちろんこれをテストすることはできますが、十分な大きさのデータセットがなく、SQLServerのパフォーマンスを確実にテストする方法もわかりません。

4

1 に答える 1

1

あなたが提示した場合、それは同じことだと思います。

唯一の問題は、複数のテーブルと結合し、クエリ オプティマイザーが where 句 (すべてのテーブル) で列を検索する必要がある場合です。エイリアスを使用する場合、クエリ オプティマイザーは、各列がどのテーブルであるかを既に認識しています。

于 2011-12-19T10:02:04.740 に答える