Hinweis: Die Befehle, die dieser Abschnitt beschreibt, sind in MySQL 5.1 noch nicht implementiert. Sie werden vor allem vorgestellt, um Feedback von Benutzern zu bekommen, die die Software während des Entwicklungszyklus der Version 5.1 vor der Produktionsreife testen. (Mit anderen Worten: Bitte schicken Sie uns keine Bugreports mit dem Hinweis, dass diese Befehle nicht funktionieren.) Die Informationen in diesem Abschnitt ändern sich noch ständig, da die Entwicklung der Partitionierung für MySQL 5.1 weitergeht. Wir werden den Abschnitt aktualisieren, wenn Partitionierungsfeatures implementiert oder verbessert werden.
MySQL 5.1 ermöglicht viele Wartungsarbeiten im
Bereich der Partitionierung. MySQL unterstützt für
partitionierte Tabellen nicht die Befehle CHECK
TABLE
, OPTIMIZE TABLE
,
ANALYZE TABLE
oder REPAIR
TABLE
. Dagegen können Sie jedoch eine Reihe von
Erweiterungen des ALTER TABLE
-Befehls
einsetzen, um diese Operationen auf einer oder mehreren
Partitionen direkt auszuführen. Diese Erweiterungen sind im
Folgenden dargestellt:
Partitionen neu erstellen: Legt die Partition neu an, hat denselben Effekt wie das Löschen und anschließende Wiedereinfügen aller in der Partition gespeicherten Datensätze. Kann bei der Defragmentierung nützlich sein.
Beispiel:
ALTER TABLE t1 REBUILD PARTITION (p0, p1);
Partitionen optimieren:
Wenn Sie viele Zeilen aus einer Partition gelöscht oder
viele Änderungen an einer partitionierten Tabelle mit
Zeilen variabler Länge (VARCHAR
-,
BLOB
- oder
TEXT
-Spalten) vorgenommen haben, können
Sie mit ALTER TABLE ... OPTIMIZE
PARTITION
unbenutzten Speicherplatz zurückholen
und die Datendatei der Partition defragmentieren.
Beispiel:
ALTER TABLE t1 OPTIMIZE PARTITION (p0, p1);
Wenn Sie auf einer Partition OPTIMIZE
PARTITION
ausführen, ist dies dasselbe, als
würden Sie CHECK PARTITION
,
ANALYZE PARTITION
und REPAIR
PARTITION
aufrufen.
Partitionen analysieren: Liest und speichert die Schlüsselverteilungen für Partitionen.
Beispiel:
ALTER TABLE t1 ANALYZE PARTITION (p3);
Partitionen reparieren: Repariert beschädigte Partitionen.
Beispiel:
ALTER TABLE t1 REPAIR PARTITION (p0,p1);
Partitionen überprüfen:
Sie können Partitionen in ganz ähnlicher Weise auf Fehler
untersuchen, wie Sie es mit CHECK TABLE
für nicht partitionierte Tabellen machen würden.
Beispiel:
ALTER TABLE trb3 CHECK PARTITION (p1);
Dieser Befehl sagt Ihnen, ob die Daten oder Indizes in
Partition p1
der Tabelle
t1
beschädigt sind. Wenn dies der Fall
ist, können Sie die Partition mit ALTER TABLE ...
REPAIR PARTITION
wieder reparieren.
Diese Aufgaben können Sie auch lösen, indem Sie
mysqlcheck oder myisamchk
auf den separaten .MYI
-Dateien ausführen,
die bei der Partitionierung einer Tabelle generiert werden.
Siehe Abschnitt 8.9, „mysqlcheck — Hilfsprogramm für die Wartung und Reparatur von Tabellen“. (Diese Möglichkeit steht
auch bereits im Pre-Alpha-Code zur Verfügung.)
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.