私の質問は、SQLサーバテーブルのパフォーマンスに関するものです。テーブルに多数のカラムがある場合のSQLサーバのパフォーマンス
私は、多くの列、たとえば30列、1列のインデックスを持つテーブルがあると仮定します。この表には約30,000行があります。
私は、インデックス付きの列、および1つ以上を選択し、その選択を行う場合は、例えば、この:
SELECT IndexedColumn, column1
FROM table
は、これが唯一の2列を持つテーブルの上に同じ選択を行い、そして行うよりも遅くなりますa SELECT * ...
基本的に、余分な列からデータを取得していない場合、余分な列が存在するとselectクエリイベントが遅くなりますか?
'column1'がインデックスの一部でない場合、' WHERE'を持たない 'SELECT'はそのインデックスをまったく使用しません。それはクラスタード・インデックスを使用する必要があります。そうでなければ、30列のクラスタード・インデックスをスキャンする方が2の1つをスキャンするよりも遅くなります。そうでなければ、おそらく無視できる時間で30,000行をスキャンします。気付きにくい1秒間に何回もすべての行を選択しています。 'column1' *があなたのインデックスの一部である(つまり、それをカバーしている)場合、クラスタード・インデックスはヒットせず、テーブルのカラム数は無関係です。 'INCLUDE'を考えてみましょう。 –
エリック・リッペルト(Eric Lippert)は、[パフォーマンス暴言](https://ericlippert.com/2012/12/17/performance-rant/) –