Kapitel 8: MySQL-Tab ellentypen 493
8.2.1 MERGE-Tabellenprobleme.
Folgende Probleme sind bei MERGE-Tabellen bekannt:
• DELETE FROM merge_tabelle ohne WHERE l¨oscht nur das Mapping f¨ur die Tabelle, nicht
alles in den gemappten Tabellen.
• RENAME TABLE auf eine Tabelle, die in einer aktiven MERGE-Tabelle benutzt wird, kann
die Tabelle besch¨adigen. Das wird in MySQL 4.0.x behoben.
• Beim Erzeugen einer Tabelle des Typs MERGE wird nicht gepr¨uft, ob die zugrunde
liegenden Tabellen kompatible Typen sind. Wenn Sie MERGE-Tabellen in dieser Weise
benutzen, ist es sehr wahrscheinlich, dass merkw¨urdige Probleme auftauchen.
• Wenn Sie ALTER TABLE benutzen, um als erstes eine UNIQUE-Index zu einer Tabelle
hinzuzuf¨ugen, die in einer MERGE-Tabelle benutzt wird, und dann ALTER TABLE
benutzen, um einen normalen Index auf die MERGE-Tabelle hinzuzuf¨ugen, wird
die Schl¨ussel-Reihenfolge f¨ur die Tabellen anders sein, wenn es einen alten, nicht
eindeutigen Schl¨ussel in der Tabelle gab. Das liegt daran, dass ALTER TABLE
UNIQUE-Schl¨ussel vor normale Schl¨ussel einf¨ugt, um in der Lage zu sein, doppelte
Schl¨usseleintr¨age so fr¨uh wie m¨oglich zu erkennen.
• Der Bereichsoptimierer kann MERGE-Tabellen noch nicht effizient benutzen und kann
manchmal nicht optimale Joins produzieren. Das wird in MySQL 4.0.x behoben.
• DROP TABLE auf eine Tabelle, die in einer MERGE-Tabelle benutzt wird, funktioniert unter
Windows nicht, weil der MERGE-Handler das Tabellen-Mapping versteckt vor der oberen
Ebene von MySQL durchf¨uhrt. Weil Windows es nicht zul¨aßt, dass Dateien gel¨oscht
werden, die offen sind, m¨ussen Sie zuerst alle MERGE-Tabellen auf Platte zur¨uckschreiben
(mit FLUSH TABLES) oder die MERGE-Tabelle l¨oschen, bevor Sie die Tabelle l¨oschen. Das
wird zu dem Zeitpunkt behoben, wenn Sichten (VIEWs) eingef¨uhrt werden.
8.3 ISAM-Tabellen
Sie k¨onnen auch den veralteten ISAM-Tab ellentyp benutzen. Dieser wird recht bald ver-
schwinden (wahrscheinlich in MySQL 4.1), weil MyISAM eine bessere Implementation der-
selbe Sache ist. ISAM benutzt einen B-tree-Index. Der Index wird in einer Datei mit der
Endung .ISM gespeichert, und die Daten in einer Datei mit der Endung .ISD. Sie k¨onnen
ISAM-Tabellen mit dem isamchk-Dienstprogramm pr¨ufen / reparieren. Siehe Abschnitt 5.4
[Disaster Prevention], Seite 217.
ISAM hat folgende Features / Eigenschaften:
• Komprimierte und Festl¨angen-Schl¨ussel
• Feste und dynamische Datensatzl¨angen
• 16 Schl¨ussel mit 16 Schl¨usselteilen pro Schl¨ussel
• Maximale Schl¨ussell¨ange 256 (Vorgabe)
• Daten werden im Maschinenformat gespeichert. Das ist schnell, aber Maschinen- /
Betriebssystem-abh¨angig.
Die meisten Dinge, die f¨ur MyISAM-Tabellen gelten, gelten auch f¨ur ISAM-Tabellen. Siehe
Abschnitt 8.1 [MyISAM], Seite 483. Die gr¨oßten Unterschiede im Vergleich zu MyISAM sind:
Comentarios a estos manuales