[+/-]
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.