次の表があるとしましょう。
CREATE TABLE T (
ID INT,
String1 nvarchar(400),
String2 nvarchar(400)
)
そしてクエリ:
select String1, String2, count(*)
from T
group by String1, String2
Tが列ストアインデックスによってインデックス付けされた場合、このグループ化クエリは通常、非クラスター化列ストアインデックススキャンによって駆動されます。
列ストアインデックスが行を列ごとの形式で格納し、各列が個別に並べ替えられている場合、行ごとに一度に複数の列を提供するにはどうすればよいでしょうか。個々の列は異なるソート順でソートされているため、これは不可能のようです。個々の列をマージして、両方の列(この例ではString1、String2)を含む完全な行に戻す方法は考えられません。
これは内部でどのように機能しますか?