494 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
• ISAM-Tabellen sind nicht bin¨arportabel zwischen verschiedenen Betriebssystemen /
Plattformen.
• Handhabt keine Tabellen > 4 GB.
• Unterst¨utzt nur Pr¨afix-Komprimierung von Zeichenketten.
• Kleinere Schl¨ussel-Beschr¨ankungen.
• Dynamische Tabelle werden schneller fragmentiert.
• Tabellen werden mit pack_isam statt mit myisampack komprimiert.
Wenn Sie eine ISAM-Tabelle in eine MyISAM-Tabelle umwandeln wollen, k¨onnen Sie Dienst-
programme wie mysqlcheck oder ein ALTER TABLE-Statement benutzen:
mysql> ALTER TABLE tabelle TYPE = MYISAM;
Die eingebetteten (embedded) MySQL-Versionen unterst¨utzen keine ISAM-Tabellen.
8.4 HEAP-Tabellen
HEAP-Tabellen benutzen eine gehashten Index und werden im Arbeitsspeicher gespeichert.
Das macht sie sehr schnell, aber wenn MySQL abst¨urzt, verlieren Sie alle darin gespeicherten
Daten. HEAP ist sehr n¨utzlich f¨ur tempor¨are Tabellen.
Die MySQL-internen HEAP-Tabellen benutzen 100% dynamisches Hashen ohne Overflow-
Bereiche. Es wird kein zus¨atzlicher Platz f¨ur freie Listen ben¨otigt. HEAP-Tabellen haben
auch keine Probleme mit L¨oschen plus Einf¨ugen, was normalerweise bei gehashten Tabellen
h¨aufig vorkommt:
mysql> CREATE TABLE test TYPE=HEAP SELECT ip,SUM(downloads) as down
FROM log_tabelle GROUP BY ip;
mysql> SELECT COUNT(ip),AVG(down) FROM test;
mysql> DROP TABLE test;
Einige Dinge sollten Sie bei der Benutzung von HEAP-Tabellen in Betracht ziehen:
• Sie sollten immer MAX_ROWS im CREATE-Statement angeben, um sicherzustellen, dass
Sie nicht versehentlich den gesamten Arbeitsspeicher benutzen.
• Indexe werden nur bei = und <=> benutzt (sind aber SEHR schnell).
• HEAP-Tabellen k¨onnen nur ganze Schl¨ussel benutzen, um nach einer Zeile zu suchen.
Vergleichen Sie das mit MyISAM-Tabellen, bei denen jedes Pr¨afix des Schl¨ussels f¨ur das
Suchen von Zeilen benutzt werden kann.
• HEAP-Tabellen benutzen ein festes Datensatzl¨angenformat.
• HEAP unterst¨utzt keine BLOB/TEXT-Spalten.
• HEAP unterst¨utzt keine AUTO_INCREMENT-Spalten.
• HEAP unterst¨utzt keinen Index auf eine NULL-Spalte.
• Es darf keine nicht eindeutigen Schl¨ussel auf eine HEAP-Tabelle geben (das ist
ungebr¨auchlich f¨ur gehashte Tabellen).
• HEAP-Tabellen werden von allen Clients gemeinsam benutzt (so wie jede andere
Tabelle).
• Sie k¨onnen nicht nach dem n¨achsten Eintrag in der Reihenfolge suchen (also den Index
benutzen, um ein ORDER BY zu machen).
Comentarios a estos manuales