Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

indexação parcial mysql, indexação reversa


Você pode criar um índice em um campo que é limitado pelo comprimento do prefixo, o que significa que apenas os primeiros n caracteres serão considerados, mas você não pode fazer isso com uma posição inicial e final arbitrária. Leia mais sobre isso em CREATE INDEX do mysql página de documentação.

Neste caso, eu apenas faria outra coluna, usaria o do mysql INVERSO função para preenchê-lo e criar um índice nele, dessa forma você obtém um campo para pesquisar o reverso da palavra original.

Outros bancos de dados, como o Postgresql, permitem indexar uma expressão , que efetivamente permitiria indexar reverse(col_name) sem criar a coluna extra. Então é possível, mas não com o mysql agora. (desde a versão 9 potgresql tem reverse() nativo eu acredito)