Mam tabelę z ~ 200 milionami wierszy i ~ 15 kolumnami. Planuję utworzyć COLUMNSTORE
indeks na moim stole.
Czy nastąpi jakaś zmiana wydajności w oparciu o kolejność kolumn, których używam w indeksie magazynu kolumn? Jeśli tak, jaka jest za tym logika?
sql-server
database-design
sql-server-2012
index
columnstore
Vinay Kumar Chella
źródło
źródło
Odpowiedzi:
Nie, porządek nie ma znaczenia. Każda kolumna jest rozpatrywana indywidualnie.
Z zespołu SQL Server (wyróżnienie dodane):
źródło
kolejność nie ma znaczenia, co ma znaczenie, jeśli należy uwzględnić WSZYSTKIE kolumny z tabeli podstawowej w indeksie magazynu kolumn - więcej za pośrednictwem mojej poprzedniej odpowiedzi na to pytanie tutaj
źródło
W SQL Server 2012-2016 masz pojęcie eliminacji segmentów ( http://social.technet.microsoft.com/wiki/contents/articles/5651.understanding-segment-elimination.aspx ) i faktycznie możesz wymusić kolejność co najmniej 1 kolumna (plus 1 dodatkowy w każdej partycji).
Rozważ następujący artykuł wyjaśniający ładowanie danych w celu lepszej eliminacji segmentów: Ładowanie danych w celu lepszej eliminacji segmentów
źródło
Istnieje świetna odpowiedź Aarona z 2012 r. Aby rozwinąć tę kwestię ...
SQL 2014+ udostępnia klastrowane indeksy magazynu kolumn. Podczas tworzenia klastrowego indeksu magazynu kolumn nie ma dostępnych opcji wyboru kolumny ani porządku. Opisane indeksy magazynu kolumn
źródło