[+/-]
      MySQL speichert seine Data Dictionary-Informationen über Tabellen
      in .frm-Dateien in Datenbankverzeichnissen.
      Das gilt für alle Speicher-Engines von MySQL. Doch jede
      InnoDB-Tabelle hat auch einen eigenen Eintrag
      im internen InnoDB-Data Dictionary innerhalb
      des Tablespace. Wenn MySQL eine Tabelle oder Datenbank löscht,
      muss es sowohl die .frm-Datei(en) als auch
      die zugehörigen Einträge im InnoDB-Data
      Dictionary löschen. Daher dürfen Sie auch
      InnoDB-Tabellen nicht einfach durch Verschieben
      der .frm-Dateien von einer Datenbank in die
      andere übertragen.
    
      Jede InnoDB-Tabelle besitzt einen speziellen,
      so genannten geclusterten Index, der die
      Daten über die Zeilen speichert. Wenn Sie einen PRIMARY
      KEY auf Ihrer Tabelle definieren, ist der Index dieses
      Primärschlüssels der geclusterte Index.
    
      Wenn Sie keinen PRIMARY KEY für Ihre Tabelle
      definieren, wählt MySQL den ersten
      UNIQUE-Index, der nur NOT
      NULL-Spalten hat, als Primärschlüssel aus, und
      InnoDB verwendet diesen als geclusterten Index.
      Wenn die Tabelle keinen solchen Index besitzt, wird intern von
      InnoDB ein geclusterter Index generiert, in dem
      die Zeilen nach der Zeilen-ID geordnet sind, die
      InnoDB den Zeilen derartiger Tabellen zuweist.
      Die Zeilen-ID ist ein 6-Byte-Feld, das monoton wächst, wenn neue
      Zeilen eingefügt werden. Somit stehen die nach Zeilen-ID
      geordneten Zeilen physikalisch in der Reihenfolge ihrer
      Einfügung.
    
Über einen geclusterten Index ist eine Zeile schnell zu erreichen, da die Zeilendaten auf derselben Seite liegen, zu der die Indexsuche hinführt. Wenn eine Tabelle groß ist, speichert die Clustered-Index-Architektur im Vergleich zu der traditionellen Lösung oft Plattenzugriffe. (In vielen Datenbanksystemen sind die Daten auf einer anderen Seite gespeichert als der Indexeintrag.)
      In InnoDB enthalten die Datensätze in
      nicht-geclusterten Indizes (auch Sekundärindizes genannt) den
      Primärschlüsselwert für die Zeile. InnoDB
      benutzt diesen Primärschlüsselwert, um die Zeile in dem
      geclusterten Index zu suchen. Beachten Sie: Wenn der
      Primärschlüssel lang ist, brauchen die Sekundärindizes mehr
      Platz.
    
      InnoDB vergleicht unterschiedlich lange
      CHAR- und VARCHAR-Strings,
      indem es die Längendifferenz im kürzeren String als mit
      Leerzeichen ausgefüllt betrachtet.
    
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.

