Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête de limite de mot plus efficace dans mySQL

Pas besoin d'avoir un index FULLTEXT. MySQL a des marqueurs spéciaux pour les limites de mots . À partir de la documentation MySQL :

[[:<:]], [[:>:]]

Ces marqueurs représentent les limites des mots. Ils correspondent respectivement au début et à la fin des mots. Un mot est une séquence de caractères de mot qui n'est ni précédée ni suivie de caractères de mot. Un caractère de mot est un caractère alphanumérique de la classe alnum ou un trait de soulignement (_).

mysql> SELECT 'a word a' REGEXP '[[:<:]]word[[:>:]]';   -> 1
mysql> SELECT 'a xword a' REGEXP '[[:<:]]word[[:>:]]';  -> 0