Situation
- Data Warehouse auf SQL Server 2008 Enterprise
- Über 36 Millionen Zeilenhaufen (nicht fragen) mit über 60 Spalten
- 750k monatlich hinzugefügt
- Kein Primärschlüssel definiert (ich habe jetzt einen identifiziert)
- Keine Komprimierung
Was ich vorhabe zu tun (in dieser Reihenfolge)
- Fügen Sie eine Komprimierung auf Seitenebene hinzu
- PK hinzufügen
- Fügen Sie eine Reihe von nicht gruppierten Indizes hinzu
- Mach das so schnell wie möglich
Frage
- Letztendlich: Füge ich zuerst die PK oder die Seitenkomprimierung hinzu? (Ist es wichtig?)
- Wenn ich die Kompression hinzufügen zuerst auf die Tabelle, werden alle Indizes dann erben die Tabellen Ebene Komprimierungseinstellungen? Die Antwort auf diese spezielle Frage lautet "Nein, Komprimierung wird nicht vererbt", die Sie hier auf dba.stackexchange finden
Worauf ich mich gerade neige
-- Add page level compression
alter table dbo.TableName
rebuild with (data_compression = page)
;
go
-- Add primary key
alter table dbo.TableName
add constraint PK_TableName
primary key clustered (<Columns>)
;
go
-- Add NC_IXs here
...
...
Ich habe hier (PK-Erstellungsdokumentation) und hier (ALTER TABLE-Dokumentation) gesucht , kann jedoch keine endgültigen Aussagen darüber treffen , ob Indizes Einstellungen für die Tabellenkomprimierung erben oder nicht. Die Antwort auf diese spezielle Frage lautet "Nein, Komprimierung wird nicht vererbt", die Sie hier auf dba.stackexchange finden