HASH-Partitionierung für MySQL und MariaDB Tabellen |
|
Die HASH Partitionierung ist Teil der Bearbeitung von MySQL-Tabellen | |
|
|
Erstellen einer HASH Partitionierung von MySQL- oder MariaDB-Tabellen:
|
| Die Partitions-Zuweisung wird mit einer Modulo-Formel (Rest bei Division) berechnet.
Zur HASH-Partitionierung können nur INTEGER-Werte verwendet werden.
Partitioniere nach: | Auswahl der Partitionierungs-Methode. |
Ausdruck: | Ausdruck oder Tabellenfeld, nach dem partitioniert werden soll.
Es können Funktionen (Dropdown links) und Tabellen-Felder (Dropdown rechts) ausgewählt werden.
Je nach gewählter Funktion werden passende Tabellen-Felder zu Verfügung gestellt.
Soll nach einem TIMESTAMP-Feld partitioniert werden, muss die Funktion UNIX_TIMESTAMP( Feld ) verwendet werden.
|
Anzahl der Partitionen: | Angabe, wieviele Partitionen erstellt werden sollen. |
Starten: | Starten des Partions-Editors mit den eingestellten Parametern. |
|
|
Hinweis:
Alle Tabellen-Felder, die zum Partitionieren verwendet werden, müssen in allen UNIQUE-Indizes vorhanden sein. Das Programm erledigt dieses automatisch und fügt bei der Partitionierung die Felder den Indizes hinzu.
In der Tabellen-Feld-Auswahl werden Felder, die in allen UNIQUE-Indizes bereits vorhanden sind blau angezeigt.
|
|
Partitions-Editor: |
|
Name: | Name der Partition. |
Daten-Verzeichnis: | Anzahl der Datenzeilen in Partition. |
Minimale Zeilenanzahl: | Richtwert für die MySQL-Partitionsverwaltung, der die minimale Anzahl der Datenzeilen in der Partion angibt.
| Maximale Zeilenanzahl: | Richtwert für die MySQL-Partitionsverwaltung, der die maximale Anzahl der Datenzeilen in der Partion angibt.
| TABLESPACE: | Auswahl eines definierten TABLESPACE-Eintrages, der Informationen zum Speicherplatz von Tabellen enthält.
| Kommentar: | Kommentar zur Partition. |
|
Bei Daten-Verzeichnis, Minimale Zeilenanzahl, Maximale Zeilenanzahl und TABLESPACE kann durch Doppelklick auf das Eingabefeld der enthaltene Wert in alle anderen Partitionen kopiert werden.
|
|
|
Partitionen erstellen. |
|
SQL-Anweisung zur Erstellung der Partitionen anzeigen. |
|
Bei der MySQL und MariaDB-HASH-Partitionierung handelt es sich um eine Methode zur Partitionierung einer Tabelle basierend auf einer Hash-Funktion, die auf eine bestimmte Spalte angewendet wird. Sie verteilt Datenzeilen auf mehrere Partitionen basierend auf dem Ergebnis der Hash-Funktion und nicht auf der Grundlage eines Bereichs oder einer Liste von Werten. Diese Art der Partitionierung ist sinnvoll, wenn Daten ohne bestimmte Sortierkriterien gleichmäßig auf Partitionen verteilt werden sollen und kann dazu beitragen, die Abfrageleistung auf Tabellen zu verbessern und eine effiziente Datenverwaltung in großen Datenbanktabellen zu ermöglichen. Die Hash-Funktion wandelt den Wert der Spalte in einen Hash-Wert um, der die Partition bestimmt, zu der die Zeile gehört.
Es muss eine Spalte oder eine Reihe von Spalten als Partitionierungsschlüssel ausgewählt werden. Die ausgewählten Spalten müssen einen hashbaren Datentyp haben, beispielsweise eine Ganzzahl oder einen Zeichentyp. Idealerweise sollten die ausgewählten Spalten eine gute Werteverteilung aufweisen, um eine gleichmäßige Datenverteilung über die Partitionen hinweg zu erreichen. Die Anzahl der Partitionen wird beim Erstellen der Tabelle explizit festgelegt. Die Anzahl der Partitionen sollte auf der Grundlage der erwarteten Datengröße, der Systemressourcen und des gewünschten Parallelitätsgrads bestimmt werden.
MySQL und MariaDB berechnen automatisch die Partition für jede Zeile basierend auf der Hash-Funktion. Dies vereinfacht die Partitionsverwaltung im Vergleich zu anderen Partitionierungsmethoden. Die Abfrageleistung kann zusätzlich verbessert werden, indem der Partitionierungsschlüssel in Abfragen verwendet wird. Der SQL-Server kann die Zielpartitionen für eine Abfrage anhand des aus dem Partitionierungsschlüssel berechneten Hash-Werts ermitteln und so einen effizienten Datenabruf ermöglichen.
Das Hinzufügen oder Entfernen von Partitionen kann im Vergleich zur Bereichs- oder Listenpartitionierung zeitaufwändiger sein. Darüber hinaus eignet sich die Hash-Partitionierung nicht für bereichsbasierte Abfragen oder den geordneten Datenabruf. |
| Weitere Informationen zum Erstellen von HASH Partitionen in MySQL-Tabellen: und |
|
|
|