Puede crear un índice en un campo que está limitado por la longitud del prefijo, lo que significa que solo se considerarán los primeros n caracteres; sin embargo, no puede hacerlo con una posición inicial y final arbitraria. Obtenga más información al respecto en CREAR ÍNDICE de mysql página de documentación.
En este caso, solo haría otra columna, usaría mysql REVERSA función para completarlo y crear un índice en él, de esa manera obtiene un campo para buscar el reverso de la palabra original.
Otras bases de datos como Postgresql le permiten indexar una expresión
, lo que le permitiría indexar reverse(col_name)
sin crear la columna adicional. Entonces es posible, pero no con mysql en este momento. (ya que la versión 9 potgresql tiene reverse() nativo, creo)