2016-09-14 1 views
1

Ich habe versucht, die Architektur von Columns Indizes zu verstehen - SQL Server 2016.ColumnStore-Index - Maximale Zeilen in einer Zeilengruppe - 1.048.576 ODER 102.400?

Ref: https://msdn.microsoft.com/en-us/library/gg492088.aspx#Anchor_4

Hier werden die Mindest Zeilen in einer rowgroup an der Säule Speicher verschieben in als 102400 erwähnt wird, aber Es wird auch erwähnt, dass 1.048.576 Zeilen normalerweise in einer Zeilengruppe gespeichert sind. Wie wird dieses Gleichgewicht aufrechterhalten?

-Yasub

Antwort

2

Das sind zwei verschiedene Dinge ..

rowgroup
Eine Reihe Gruppe eine Gruppe von Zeilen, die in columns Format zur gleichen Zeit komprimiert werden. Eine Zeilengruppe enthält normalerweise die maximale Anzahl von Zeilen pro Zeilengruppe, die 1.048.576 Zeilen ist.

Pasted relevanter Teil für 102.400 Reihen

deltastore
nur gruppierten Spaltenspeicher Indizes verwendet mit, ist ein deltastore ein gruppierter Index, columns Kompression und Leistung durch Reihen speichern, bis die Anzahl der Zeilen, einen Schwellenwert erreicht verbessert und werden dann in den columnstore verschoben.

Während einer großen Massenlast gehen die meisten Zeilen direkt in den Columnstore, ohne den Deltastore zu durchlaufen. Einige Zeilen am Ende der Massenladung sind möglicherweise zu wenige, um die Mindestgröße einer Zeilengruppe mit 102.400 Zeilen zu erreichen. Wenn dies geschieht, werden die letzten Zeilen anstelle des columnstore in den Deltastore verschoben. Bei kleinen Massenladungen mit weniger als 102.400 Zeilen gehen alle Zeilen direkt zum Deltastore.

paar nützliche Links ..

1.How es intern arbeitet ..
http://rusanu.com/2012/05/29/inside-the-sql-server-2012-columnstore-indexes/#more-1463

2.Best Tutorial ..

http://www.nikoport.com/columnstore/

Verwandte Themen