Kapitel 5: MySQL-Datenbankadministration 273
Stacker auf MS-DOS n¨otig ist.
¨
Ublicherweise komprimiert myisampack die Daten-Datei auf
40%-70%.
MySQL benutzt Speicher-Mapping (mmap()) auf komprimierte Tabellen und geht zu nor-
malen Lesen / Schreiben von Dateien zur¨uck, wenn mmap() nicht funktioniert.
F¨ur myisampack gibt es momentan zwei Einschr¨ankungen:
• Nach dem Komprimieren ist die Tabelle nur-lesbar.
• myisampack kann auch BLOB- oder TEXT-Spalten komprimieren. Das ¨altere pack_isam
konnte das nicht.
Die Behebung dieser Einschr¨ankungen steht mit niedrigen Priorit¨at auf unserer TODO-
Liste.
myisampack wird wie folgt aufgerufen:
shell> myisampack [options] Dateiname ...
Jeder Dateiname sollte der Name einer Index-(‘.MYI’)-Datei sein. Wenn Sie nicht im
Datenbank-Verzeichnis sind, m¨ussen Sie den Pfadnamen zur Datei angeben. Die ‘.MYI’
Erweiterung kann weggelassen werden.
myisampack unterst¨utzt folgende Optionen:
-b, --backup
Stellt eine Datensicherung der Tabelle als tabelle.OLD her.
-#, --debug=debug_options
Debug-Log ausgeben. Die debug_options-Zeichenkette ist h¨aufig
’d:t:o,filename’.
-f, --force
Erzwingt die Komprimierung der Tabelle, selbst wenn sie dadurch gr¨oßer
wird oder die tempor¨are Datei existiert. myisampack erzeugt eine tempor¨are
Datei namens ‘tabelle.TMD’, w¨ahrend es die Tabelle komprimiert. Wenn Sie
myisampack killen, kann es sein, dass die ‘.TMD’-Datei nicht gel¨oscht wird.
Normalerweise wird myisampack mit einer Fehlermeldung beendet, wenn es
eine existierende ‘tabelle.TMD’-Datei findet. Mit --force packt myisampack
die Tabelle trotzdem.
-?, --help
Hilfetext ausgeben und beenden.
-j große_tabelle, --join=große_tabelle
Verbindet alle Tabellen, die auf der Kommandozeile angegeben wurden, in eine
einzige große Tabelle große_tabelle. Alle Tabellen, die kombiniert werden
sollen, M
¨
USSEN identisch sein (dieselben Spaltennamen und -typen, dieselben
Indexe usw.).
-p #, --packlength=#
Legt die Speichergr¨oße der Datensatzl¨ange in Bytes fest. Der Wert sollte 1, 2
oder 3 sein. (myisampack speichert alle Zeilen mit L¨angenzeigern von 1, 2, o der
3 Bytes. In den meisten F¨allen kann myisampack den richtigen L¨angenwert
festlegen, bevor es anf¨angt, die Datei zu komprimieren. W¨ahrend des Kom-
primierungsprozesses stellt es aber eventuell fest, dass es eine k¨urzere L¨ange
Kommentare zu diesen Handbüchern