[+/-]
Um eine InnoDB-Tabelle zu erzeugen, müssen Sie
die ENGINE = InnoDB-Option in der
CREATE TABLE-Anweisung angeben:
CREATE TABLE customers (a INT, b CHAR (20), INDEX (a)) ENGINE=InnoDB;
Der ältere Begriff TYPE wird als Synonym für
ENGINE aus Gründen der Abwärtskompatibilität
zwar weiter unterstützt, aber ENGINE ist der
bessere Begriff, während TYPE veraltet ist.
Die Anweisung erzeugt eine Tabelle und einen Index auf der Spalte
a im InnoDB-Tablespace, der
aus den in my.cnf angegebenen Datendateien
besteht. Außerdem legt MySQL die Datei
customers.frm im Verzeichnis
test an, das ein Unterverzeichnis des
MySQL-Datenbankverzeichnisses ist. Intern fügt
InnoDB in das Data Dictionary einen Eintrag
für diese Tabelle ein, der den Datenbanknamen enthält. Wenn
beispielsweise test die Datenbank ist, in der
die customers-Tabelle angelegt wurde, heißt
der Eintrag 'test/customers'. Das bedeutet,
dass Sie in einer anderen Datenbank eine gleichnamige
customers-Tabelle anlegen können, ohne dass es
in InnoDB zu Namenskonflikten kommt.
Wieviel Platz im InnoDB-Tablespace noch frei
ist, sagt Ihnen eine SHOW TABLE
STATUS-Anweisung für irgendeine
InnoDB-Tabelle. Der freie Platz im Tablespace
wird im Abschnitt Comment der Ausgabe von
SHOW TABLE STATUS angezeigt, beispielsweise:
SHOW TABLE STATUS FROM test LIKE 'customers'
Beachten Sie, dass die Statistikdaten, die SHOW
für InnoDB-Tabellen anzeigt, nur
Näherungswerte sind. Sie werden für die SQL-Optimierung
eingesetzt. Doch die reservierten Größen für Tabellen und
Indizes in Bytes werden präzise angegeben.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.
