你好 Andreas,
hat jemand von Euch konkrete Erfahrungen mit der Performance von
SQL-Queries mit regulären Ausdrücken bei MySQL-Datenbanken?
Tja, regulaere Ausdruecke sind aufwendig. Nicht zu aendern, sie kosten
Rechenzeit. Dazu kommt, dass bei einem Regex-Match ein Full table scan
gemacht werden muss, so dass der Rechenzeit auf jede Reihe angewandt werden
muss. Das bedeutet, linearer Aufwand (O(n)). Wenn du wirklich einen RegEx
brauchst, dann musst du dich damit abfinden, dass die Abfrage halt solange
dauert. Eventuell wird es geringfuegig schneller, wenn du die glibc mal auf
einen aktuellen Stand bringst (die nutzt MySQL dazu, regulaere Ausdruecke
auszufuehren), aber wirklich viel wirst du da nicht rausholen koennen.
Was den SOUNDEX()-Hinweis von wahsaga angeht: das ist auf englische Sprache
optimiert, fuer deutsche Sprache kann das nur schwer verwendet werden.
再见,
CK
"Ich muss auflegen, mein Essen ist gleich fertig."
"Oh, was gibt 's denn?"
"Hmm. Die Packung liegt schon im Muell, keine Ahnung.
http://wwwtech.de/