Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Effizientere Wortgrenzenabfrage in mySQL

Es ist kein FULLTEXT-Index erforderlich. MySQL hat spezielle Markierungen für Wortgrenzen . Aus dem MySQL-Dokument :

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

Diese Markierungen stehen für Wortgrenzen. Sie stimmen jeweils mit dem Anfang und dem Ende von Wörtern überein. Ein Wort ist eine Folge von Wortzeichen, denen keine Wortzeichen vorangehen oder folgen. Ein Wortzeichen ist ein alphanumerisches Zeichen in der Klasse alnum oder ein Unterstrich (_).

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