MySql Performance mit Funktionen
Für ein aktuelles Projekt benötigte ich den Double Metaphone Algorythmous in der Datenbank. Netterweise gibt es hier die Funktion zum Download. Damit ließ sich auch alles recht einfach aufbauen. Ich lasse meine Hashfelder per Trigger automatisch Pflegen. Inserts liefen schnell und problemlos. Das böse Erwachen kam allerdings bei einfachen Selects. Mein Query sah so aus:
SELECT tabelleId
FROM tabelle
WHERE tabelleHash = dm(‘abc’);
Dies wurde mir von MySql mit einer Laufzeit von über 5s bei einer Tabelle mit nur 500 Datensätzen (tabelleId ist primary Key und auf tabelleHash habe ich einen Index) quittiert. Leider scheint MySql den Ausdruk im Where nicht … Continue Reading