Stefan Falz: Wie schnell ist mySQL ("like"-Abfrage bei mehreren tausend Datensätz

Beitrag lesen

auf jeden fall ist eine "echte" volltextsuche in jedem fall schneller, beim MSSQL 7.0 geht das... vieleicht beim mysql auch?!

Was ist der Unterschied zwischen "like" und einer "echten" Volltextsuche?

Tschau!

Michael

Hallo Michael,

LIKE sucht innerhalb eines Feld nach dem Suchbegriff, wobei die
Stelle, an der der Begriff vorkommen muss, mit Wildcards bestimmt wird.

LIKE 'test%' -> sucht am Anfang des Inhalts (egal was danach kommt)
                in gewissen Fällen kann hier das DBMS auch einen Index benutzen
LIKE '%test' -> sucht am Ende des Inhalts (egal was davor kommt)
LIKE '%test' -> sucht den Begriff irgendwo im Inhalt (langsamste Variante)

Eine Volltextsuche ist anders aufgebaut. Hierbei erstellt das DBMS
eigene Tabellen mit den Begriffen und referenziert dort auf den
eigentlichen Datensatz. Man kann es so einstellen, daß Wörter wie
"und", "oder", ... nicht indiziert werden, denn nach diesen Wörtern
wird wohl keine suchen, diese werden eher als Operatoren verwendet.

Durch den Aufbau dieser eigenen Tabellen kann das DBMS natürlich viel
schneller filtern als bei einer LIKE-Abfrage.

Tschau, Stefan