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 Tabellenangelegt, die mit dem CREATE TABLE Statement angelegt wordensind. CREATE INDEX erlaubt es nun, einen INDEX zu existierendenTabellen hinzuzufügen. Wenn eine Spaltenliste der Form (spalte1, spalte2,...)angegeben wird, wird ein mehrspaltiger INDEX erzeugt. Diesist immer dann sinnvoll, wenn man einen eindeutigen Schlüssel(Primärschlüssel) nur aus der Kombination mehrerer Einträgeerhält (Es macht keinen Sinn, einen INDEX allein auf denNachnamen zu legen (Schmitz gibt´s zu viele), sondern eindeutigwird eine Person erst durch die Zuordnung mehrerer Charakteristika(Nachname und Geburtsdatum und Wohnort). Für CHAR und VARCHAR Spalten werden stets nur die ersten10 Buchstaben indiziert. Beispiel: mysql> CREATE INDEX part_of_name ON customer (name(10)); Da die meisten Namen sichinnerhalb der ersten 10 Buchstaben unterscheiden, sollteder INDEX nicht kleiner sein, als der INDEX für die ganzeNamensspalte.
|