Tabellenpartitionierung in SQL 2008 - Warum?

7

Ich verstehe, wie es funktioniert, aber das Buch, das ich studiere, sagt mir nicht, warum Sie partitionieren möchten. Könnte jemand etwas Licht ins Dunkel bringen? Ich kann kein Konzept verstehen, wenn ich nicht sehe, wie nützlich es ist.

NibblyPig
quelle

Antworten:

10

Grundsätzlich, um eine große Tabelle in kleinere Untertabellen oder Partitionen aufzuteilen

  • Daten in verschiedene Dateien / Dateigruppen auslagern (mit Änderungen in der Sicherungs- / Wiederherstellungsstrategie auch)
  • Trennen Sie "Arbeiten" von "historischen" Daten (ohne 2+ separate Tabellen zu haben, was Abfragen erschwert).
  • Komprimierung älterer Daten ermöglichen

Wir sprechen von Hunderten von Millionen Zeilen und / oder hohen Volumina.

Sie partitionieren nicht für einige Millionen Zeilen.

gbn
quelle
Dies und die Vorteile des Bereinigens von Partitionen (suchen Sie nicht in Partitionen, wenn Sie wissen, dass die Daten nicht vorhanden sind) und der parallelen Ausführung (Sie können auf mehrere Partitionen gleichzeitig zugreifen, um eine SUMME oder COUNT oder ein anderes Aggregat
auszuführen
1
Beschleunigt es SQL, wenn Sie es in mehrere Dateien aufteilen? Gibt es nicht eine bessere Archivierungsstrategie, als sie nur aufzuteilen? Ich hätte gedacht, Sie würden die alten Daten physisch in eine neue Tabelle verschieben oder sie irgendwo auf einem anderen Computer sichern / komprimieren und nicht einfach im selben Ordner belassen.
2
Dies wirkt sich auch auf Ihre Indizes aus. Wenn Sie also Archivdaten im Wert von einigen Jahren in einer Partition und nur das aktuelle Jahr in einer anderen Partition haben, umfasst das Durchsuchen der Partition des aktuellen Jahres nur die Indizes dieser Partition.