Jaka jest różnica między indeksem zwykłym a nowym indeksem typu Columstore w MS SQL 2012?
Jaka jest różnica między indeksem zwykłym a nowym indeksem typu Columstore w MS SQL 2012?
Indeksy nonclustered przechowywały dane w postaci rekordów składających się z kolumn klucza, zainkludowanych kolumn oraz wskaźnika do tabeli, gdzie znajdowały się dane źródłowe dla rekordu z indeksu. Jeżeli nasz indeks składał się z 3 kolumn, a w poleceniu SELECT wykorzystaliśmy jedynie 2 kolumny, to z powodu jego budowy i tak do pamięci zostały odczytane dane z 3 (niewykorzystywanej) kolumny. W indeksie columnstore dane są rozlokowane kolumnami, tz najpierw są umieszczone dane z pierwszej kolumny, potem dane z drugiej kolumny itd. Co oznacza, że jeżeli potrzebujemy dane jedynie z 2 kolumn, to nie będą do pamięci załadowane dane z 'nadmiarowych' w naszym przykładzie kolumn. Bardzo dobry artykuł poświęcony indeksowi columnstore zamieścił Bartłomiej Graczyk w TechNet.