Die Partitionierung von Hash- oder schlüsselpartitionierten
        Tabellen lässt sich in ähnlicher Weise ändern, wobei sich
        Tabellen mit diesen beiden Formen der Partitionierung in
        mehrerer Hinsicht von bereichs- oder listenpartitionierten
        Tabellen unterscheiden. Daher werden in diesem Abschnitt nur
        Änderungen von Hash- oder schlüsselpartitionierten Tabellen
        behandelt. Das Hinzufügen und Löschen der Partitionen von
        bereichs- oder listenpartitionierten Tabellen wird in
        Abschnitt 17.3.1, „Verwaltung von RANGE- und
        LIST-Partitionen“,
        beschrieben.
      
        Sie können Partitionen aus HASH- oder
        KEY-partitionierten Tabellen nicht genauso
        löschen wie aus RANGE- oder
        LIST-partitionierten Tabellen. Doch zum
        Zusammenführen von HASH- oder
        KEY-partitionierten Tabellen können Sie
        ebenfalls den ALTER TABLE ... COALESCE
        PARTITION-Befehl verwenden. Angenommen, Sie haben eine
        Tabelle mit Kundendaten, die in 12 Partitionen aufgeteilt ist.
        Diese clients-Tabelle ist folgendermaßen
        definiert:
      
CREATE TABLE clients (
    id INT,
    fname VARCHAR(30),
    lname VARCHAR(30),
    signed DATE
)
PARTITION BY HASH( MONTH(signed) )
PARTITIONS 12;
        Um die Anzahl der Partitionen von 12 auf 6 zu reduzieren,
        führen Sie folgenden ALTER TABLE-Befehl aus:
      
mysql> ALTER TABLE clients COALESCE PARTITION 6;
Query OK, 0 rows affected (0.02 sec)
        COALESCE funktioniert genauso gut mit
        HASH-, KEY-,
        LINEAR HASH- oder LINEAR
        KEY-partitionierten Tabellen. Hier sehen Sie ein
        ähnliches Beispiel wie oben, allerdings dieses Mal mit einer
        Tabelle, die nach LINEAR KEY partitioniert
        ist:
      
mysql>CREATE TABLE clients_lk (->id INT,->fname VARCHAR(30),->lname VARCHAR(30),->signed DATE->)->PARTITION BY LINEAR KEY(signed)->PARTITIONS 12;Query OK, 0 rows affected (0.03 sec) mysql>ALTER TABLE clients_lk COALESCE PARTITION 6;Query OK, 0 rows affected (0.06 sec) Records: 0 Duplicates: 0 Warnings: 0
        COALESCE kann nicht verwendet werden, um die
        Anzahl der Partitionen zu erhöhen. Ein Versuch, dies zu tun,
        verursacht folgenden Fehler:
      
mysql> ALTER TABLE clients COALESCE PARTITION 18;
ERROR 1478 (HY000): Cannot remove all Partitionen, use DROP TABLE instead
        Um die Anzahl der Partitionen der
        clients-Tabelle von 12 auf 18 zu erhöhen,
        erteilen Sie folgende ALTER TABLE ... ADD
        PARTITION-Anweisung:
      
ALTER TABLE clients ADD PARTITION PARTITIONS 18;
        Hinweis: ALTER TABLE
        ... REORGANIZE PARTITION kann nicht für
        HASH- oder
        KEY-partitionierte Tabellen verwendet werden.
      
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.

