2012-03-26 10 views
2

Suche nach einem Weg zu Suche Index auf Suffix einer Spalte Ich konnte keine Lösung finden.MySQL Suffix-Indizes

Das einzige, was für Teilindex, die ich auf Präfix Index gefunden, die ist:

CREATE INDEX part_of_name ON customer (name(10)); 

von 12.1.13. CREATE INDEX Syntax

Ich mag auch andere Sachen ausprobiert: ALL

CREATE INDEX part_of_name ON customer (name(-10)); 
CREATE INDEX part_of_name ON customer (RIGHT(name,10)); 
CREATE INDEX part_of_name ON customer (SUBSTRING(name,-10)); 

mit gleichem Fehler:

ERROR 1064 (42000): You have an error in your SQL syntax; 

Ich möchte Ihre Hilfe! Vielen Dank im Voraus!

Antwort

1

MySQL unterstützt keine Indizes für beliebige Ausdrücke. Der Präfix-Index ist nur eine Eigenart, da er in einer typischen Implementierung von B-Tree-Indizes "frei" ist.

Sie müssen der Tabelle eine weitere Spalte hinzufügen, sie mit einem Trigger füllen und einen Index darauf setzen.

+0

Danke porneL! Leider, wie Sie gesagt haben, muss ich eine andere Spalte erstellen ... –

+0

@ pan.soultanos: Willkommen bei StackOverflow. Wenn Sie meine Antwort hilfreich gefunden haben, markieren Sie sie bitte als Angenommen. – Kornel