Du kan oprette et indeks på et felt, der er begrænset af præfiks-længde, hvilket betyder, at kun de første n tegn vil blive taget i betragtning, du kan dog ikke gøre det med en vilkårlig start- og slutposition. Læs mere om det på mysqls OPRET INDEKS dokumentationsside.
I dette tilfælde ville jeg bare lave endnu en kolonne, brug mysqls TILBAGE funktion til at udfylde det og oprette et indeks på det, på den måde får du et felt at søge på efter bagsiden af det oprindelige ord.
Andre databaser såsom Postgresql giver dig mulighed for at indeksere et udtryk
, som effektivt ville give dig mulighed for at indeksere reverse(col_name)
uden at oprette den ekstra kolonne. Så det er muligt, bare ikke med mysql lige nu. (da version 9 potgresql har reverse() native, tror jeg)