Weiter Zurück [Inhalt] Online Suche im Handbuch

28.23 CREATE INDEX

CREATE [UNIQUE] INDEX index_name ON tbl_name (col_name[(length]),... )
Das CREATE INDEX Statement funktioniert erst seit der Version 3.22. Zu Funktionsweise schauen Sie bitte im Kapitel ALTER TABLE nach.

Normalerweise werden automatisch Indizes auf allen Tabellen angelegt, die mit dem CREATE TABLE Statement angelegt worden sind. CREATE INDEX erlaubt es nun, einen INDEX zu existierenden Tabellen hinzuzufügen.

Wenn eine Spaltenliste der Form (spalte1, spalte2,...) angegeben wird, wird ein mehrspaltiger INDEX erzeugt. Dies ist immer dann sinnvoll, wenn man einen eindeutigen Schlüssel (Primärschlüssel) nur aus der Kombination mehrerer Einträge erhält (Es macht keinen Sinn, einen INDEX allein auf den Nachnamen zu legen (Schmitz gibt´s zu viele), sondern eindeutig wird eine Person erst durch die Zuordnung mehrerer Charakteristika (Nachname und Geburtsdatum und Wohnort).

Für CHAR und VARCHAR Spalten werden stets nur die ersten 10 Buchstaben indiziert. Beispiel:

mysql> CREATE INDEX part_of_name ON customer (name(10));
Da die meisten Namen sich innerhalb der ersten 10 Buchstaben unterscheiden, sollte der INDEX nicht kleiner sein, als der INDEX für die ganze Namensspalte.

In Kapitel Wie MySQL Indexe verwendet finden Sie weitere Informationen zu Indizes.


Weiter Zurück [Inhalt] Online Suche im Handbuch