SQL Server 2012 を使用しています。
次のようなクエリを最適化しようとしています。
SELECT TOP 20 ta.id,
ta.name,
ta.amt,
tb.id,
tb.name,
tc.name,
tc.id,
tc.descr
FROM a ta
INNER JOIN b tb
ON ta.id = tb.id
INNER JOIN c tc
ON tb.id = tc.id
ORDER BY ta.mytime DESC
クエリの実行には約 5 ~ 6 秒かかります。結合で使用されるすべての列のインデックスがあります。テーブルには 500k レコードがあります。
私の質問は次のとおりです。列 tc.name、tc.id、および tc.descr を選択から削除すると、クエリは 1 秒以内に結果を返します。なんで?