Michael Schröpl: MySQL und Performance bei Wildcards-Suche

Beitrag lesen

Hi,

Indizieren bringt dabei nichts, weil im Suchbegriff vorne und hinten ein '%' gebraucht wird.

Nicht, wenn Du Dein SQL-Statement nicht ebenfalls änderst, das ist wahr.

Kennt jemand andere Tricks, mit denen man die Suche beschleunigen kann?

Wie hoch sind Deine Performance-Ansprüche?
Wie viel Speicherplatz steht Dir zur Verfügung?

Ressourcen sind austauschbar. Du könntest folgendes tun:
1. Nur noch *exakte* Suchvorgänge durchführen.
2. Aber in einer Tabelle, welche jedes Teilwort (!) Deiner eigentlichen Tabelleninhalte enthält (und einen Verweis auf den dadurch teil-beschriebenen Tabellenwert).
Ja, das sind *exponentiell* viele Tabellenwerte - deshalb die Frage weiter oben.
Aber es geht dann auch logarithmisch schnell, weil Du *jetzt* Gebrauch von einem Index machen kannst.

mfG - Michael