Sven Rautenberg: MYSQL Regexp

Beitrag lesen

Moin!

"Suchbegriff 1 vorhanden AND Suchbegriff 2 vorhanden"

wird es dann nicht langsamer, weil ich ja mit like arbeiten muss. (Wenn mehrere Suchwörter vorkommen können < 15)

LIKE wird dann langsam, wenn du eine Wildcard voranstellst, weil du "...irgendwasSUCHWORTirgendwas..." suchst. Dann muß die gesamte DB durchgegangen werden, und Indizes bleiben komplett ungenutzt.

Genau dasselbe muß aber auch passieren, wenn du deinen regulären Ausdruck verwendest, der am Anfang beliebige Zeichen erlaubt.

Mit regexp bleibt es aber dennoch akzeptabel

Reguläre Ausdrücke sind im Gegensatz zu LIKE noch performanceaufwendiger, wenn man nur rein den Vergleichsvorgang "Gesuchtes Muster" mit "gefundener DB-Eintrag" betrachtet.

Deshalb: Wenn du auf reguläre Ausdrücke verzichten kannst (und das kannst du hier), dann verzichte drauf.

- Sven Rautenberg