Kapitel 7: MySQL-Sprachreferenz 463
mysql> create table bar (unique (n)) select n von foo;
Wenn Fehler beim Kopieren der Daten in die Tabelle auftreten, wird diese automatisch
gel¨oscht.
Um sicherzustellen, dass die Update-Log-Datei/Bin¨ar-Log-Datei benutzt werden
kann, um die Original-Tabellen neu zu erzeugen, l¨aßt MySQL keine gleichzeitigen
Einf¨ugeop erationen w¨ahrend CREATE TABLE .... SELECT zu.
• Die RAID_TYPE-Option hilft, die 2 GB- / 4 GB-Grenze f¨ur die MyISAM-Daten-Datei
zu durchbrechen (nicht f¨ur die Index-Datei), auf Betriebssystemen, die keine großen
Dateien unterst¨utzen. Sie erzielen mehr Geschwindigkeit vom I/O-Flaschenhals, wenn
Sie die RAID-Verzeichnisse auf unterschiedliche physikalische Platten legen. RAID_TYPE
funktioniert auf jedem Betriebssystem, solange Sie MySQL mit --with-raid konfig-
uriert haben. Momentan ist der einzige zul¨assige RAID_TYPE STRIPED (1 und RAID0
sind Aliase daf¨ur).
Wenn Sie RAID_TYPE=STRIPED bei einer MyISAM-Tabelle angeben, erzeugt MyISAM RAID_
CHUNKS-Unterverzeichnisse namens 00, 01, 02 im Datenbank-Verzeichnis. In jedem
dieser Verzeichnisse erzeugt MyISAM eine tabelle.MYD. Wenn Sie Daten in die Daten-
Datei schreiben, mappt der RAID-Handler die ersten RAID_CHUNKSIZE * 1024 Bytes auf
die erste Datei, die n¨achsten RAID_CHUNKSIZE * 1024 Bytes auf die n¨achste Datei usw.
• UNION wird benutzt, wenn Sie eine Sammlung identischer Tabelle als eine benutzen
wollen. Das funktioniert nur bei MERGE-Tabellen. Siehe Abschnitt 8.2 [MERGE],
Seite 490.
Momentan ben¨otigen Sie SELECT-, UPDATE- und-DELETE-Berechtigungen auf die
Tabellen, die Sie auf eine MERGE-Tabelle mappen. Alle gemappten Tabellen m¨ussen
sich in derselben Datenbank wie die MERGE-Tabelle befinden.
• Wenn Sie Daten in eine MERGE-Tabelle einf¨ugen wollen, m¨ussen Sie mit INSERT_METHOD
angeben, in welche Tabelle die Zeile eingef¨ugt werden soll. Siehe Abschnitt 8.2
[MERGE], Seite 490.
• In der erzeugten Tabelle wird der PRIMARY-Schl¨ussel zuerst platziert, gefolgt von allen
UNIQUE-Schl¨usseln und danach von den normalen Schl¨usseln. Das hilft dem MySQL-
Optimierer zu priorisieren, welcher Schl¨ussel benutzt werden soll, und auch, Duplikate
von UNIQUE-Schl¨usseln zu entdecken.
• Wenn Sie DATA directory="verzeichnis" oder INDEX directory="verzeichnis"
benutzen, k¨onnen Sie angeben, wohin die Tabellen-Handler ihre Tabellen- und
Index-Dateien legen sollen. Das funktioniert nur bei MyISAM-Tabellen in MySQL
4.0, wenn Sie die --skip-symlink-Option nicht benutzen. Siehe Abschnitt 6.6.1.2
[Symbolic links to tables], Seite 366.
7.5.3.1 Stille Spaltentyp-
¨
Anderungen
In einigen F¨allen ¨andert MySQL lautlos eine Spaltenspezifikation von der, die in einem
CREATE TABLE-Statement angegeben wurde. (Das kann auch bei ALTER TABLE passieren.):
• VARCHAR-Spalten mit einer L¨ange kleiner 4 werden in CHAR ge¨andert.
• Wenn irgend eine Spalte in einer Tabelle eine variable L¨ange hat, hat im Ergebnis jede
Zeile eine variable L¨ange. Wenn daher eine Tabelle irgend welche Spalten variabler
Comentarios a estos manuales