Hallo zusammen,
hat jemand eine Idee wie ich eine schnelle Volltextsuche bei über 2,5 Millionen Einträgen realisieren kann?
Es geht um eine Ajax Basierte Autocomplete Suche die bislang ~4 Sek. braucht um einen String zu finden, und die Vorschlagsliste aktualisiert.
Etwas beschleunigt habe ich das ganze indem ich erst ab dem 4. eingegebnen Zeichen suchen lasse.
Bislang:
4,3662 Sek.
Rennt wie Sau:
0,0531 Sek.
Problem dabei:
Die Vorschlagsliste wird bei der zweiten Abfrage erst bei genauen Wort Treffern geladen und ausgegeben. Das hilft dem User dann wenig.
Jetzt meine Frage:
Gibt es eine Möglichkeit die 1. Abfrage soweit zu optimieren das Sie gleichwertige Zeiten erzielt?
Gibt es Möglichkeiten die Datenbank zu optimieren, das die 1. Abfrage besser arbeitet?
Ich sag schonmal Danke.
hat jemand eine Idee wie ich eine schnelle Volltextsuche bei über 2,5 Millionen Einträgen realisieren kann?
Es geht um eine Ajax Basierte Autocomplete Suche die bislang ~4 Sek. braucht um einen String zu finden, und die Vorschlagsliste aktualisiert.
Etwas beschleunigt habe ich das ganze indem ich erst ab dem 4. eingegebnen Zeichen suchen lasse.
Bislang:
4,3662 Sek.
Code:
SELECT DISTINCT spalte AS spalte FROM tabelle WHERE spalte LIKE '%string%' ORDER BY spalte ASC LIMIT 0,10
0,0531 Sek.
Code:
SELECT DISTINCT spalte AS spalte FROM tabelle WHERE MATCH (spalte) AGAINST ('+string' IN BOOLEAN MODE) LIMIT 0,10
Die Vorschlagsliste wird bei der zweiten Abfrage erst bei genauen Wort Treffern geladen und ausgegeben. Das hilft dem User dann wenig.
Jetzt meine Frage:
Gibt es eine Möglichkeit die 1. Abfrage soweit zu optimieren das Sie gleichwertige Zeiten erzielt?
Gibt es Möglichkeiten die Datenbank zu optimieren, das die 1. Abfrage besser arbeitet?
Ich sag schonmal Danke.
Kommentar