Hallo Michael !
Andererseits würde mich wundern, wenn es möglich wäre, einen Index (bzw. eine Komponente davon) auf einen Teil einer Tabellenspalte zu legen. Denn so, wie ein Indexbaum intern strukturiert ist, macht das wenig Sinn.
Wenn Du wirklich *nur* genau die ersten fünf Zeichen als indexrelevant ansiehst, solltest Du eine separate (inhaltlich redundante) Spalte mit diesem Wert (ggf. concateniert mit anderen Schlüsselkomponenten) anlegen und darüber den PRIMARY KEY der Tabelle legen.
Das habe ich von little-idiot.de:
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.
Das heißt doch schon soviel wie nur ein Teil des Spalteninhalts wird "verindext", oder ?
Ein wenig ratlos,
Knud