Ich plane, die PAGE-Komprimierung auf einige der großen Tabellen in meiner Datenbank anzuwenden (genauer gesagt DW). Diese Tabellen sind mit über 15 Milliarden Zeilen ziemlich groß. Als ich die Komprimierung in der Testumgebung angewendet habe, dauerte der gesamte Vorgang ungefähr 22 Stunden. Auf diese Tabellen wird täglich mit ziemlich langen Abfragen zugegriffen. Meine Fragen sind
- Gibt es während der Komprimierung Auswirkungen auf die ausgeführten Abfragen? Gibt es ein Schloss usw., auf das ich achten sollte?
- Gibt es einen gestaffelten Ansatz für die Anwendung der Komprimierung?
3. Haben Sie noch andere Anregungen / Rückmeldungen?
Danke vielmals
Sean
sql-server-2008
compression
Seank
quelle
quelle
Antworten:
Offline ALTER ... REBUILD nimmt eine große Sperre für die Änderung des Fettschemas für die Tabelle mit absolut 0 Parallelität (nicht einmal schmutzige Lesevorgänge können die Tabelle scannen). Online ALTER ... REBUILD ermöglicht, wie der Name schon sagt, jede gleichzeitige Abfrage oder DML-Operation. Der MSDN-Artikel Funktionsweise von Online-Indexoperationen beschreibt die drei Phasen (Vorbereiten, Erstellen und Finalisieren) und die in jeder Phase erforderlichen Objektsperren (IS, IS, SCH-M). Der Builder arbeitet stapelweise und erwirbt Datensperren, wenn er Fortschritte macht, aber er wird sich bei Konflikten zurückziehen, und es gibt eine spezielle Sauce für den Umgang mit Deadlocks mit dem Builder:
Weitere Informationen finden Sie im Whitepaper Online-Indizierungsvorgänge in SQL Server 2005 , einschließlich der Funktionsweise von Antimaterie.
Nun, für eine DW-Tabelle mit 15B Zeilen können Columnstore-Indizes die beste Option sein .
quelle
Ich habe das Szenario durch Ausführen getestet
Bei einer Transaktion werden exklusive Sperren für die Seiten vorgenommen, sodass zwar ein Blockierungspotential besteht. Bei einer großen Tabelle ist dies jedoch sehr viel weniger, da sie Seite für Seite komprimiert wird, sodass nur große Scan-Auswahlen für vollständige Tabellen möglich sind blockiert, keine Einfügungen oder Aktualisierungen, daher lauten die Antworten:
quelle