Hallo zusammen,
ich habe eine DB mit derzeit etwa 1 Mio Einträgen (~300MB). Mittels Ajax Suggest biete ich bei Eingabe schonmal vorab 5 Suchresultate an. Was mich schon jetzt daran stört. Es dauert etwas zu lange. Was passiert dann erst bei 5 Mio Einträgen!?
Die DB habe ich auf myISAM stehen weil InnoDB viel zu langsam beim Updaten aus CSV Dateien war. Mit viel zu langsam meine ich etwa Factor 20.
Heute morgen wollte/habe ich das ganze von
nach FULLTEXT
umgebaut. Das war gar nicht so einfach wie es anfangs aussah. Aber jetzt läuft es auch so rum.
Im FULLTEXT habe ich 2 Spalten aufgenommen ( 1 x varchar(255) und 1 x varchar(1024).
Es scheint nun so, als würde es etwas schneller laufen. Jedoch bin ich mit dem Result (etwa 2 sek.) nicht zufrieden. Andere Webseiten bekommen das sehr viel schneller hin.
Nun meine Frage: War mein Umbau nun die beste Möglichkeit für mySQL5.7.
Würde es ne Menge bringen es in eine (MEMORY) DB zu packen? Die CSV's werden eh 1 x am Tag neu eingelesen.
Die Maschine ist ein 4Core AMD mit 4GB RAM.
Hat da jemand Verbesserungsvorschläge?
ich habe eine DB mit derzeit etwa 1 Mio Einträgen (~300MB). Mittels Ajax Suggest biete ich bei Eingabe schonmal vorab 5 Suchresultate an. Was mich schon jetzt daran stört. Es dauert etwas zu lange. Was passiert dann erst bei 5 Mio Einträgen!?
Die DB habe ich auf myISAM stehen weil InnoDB viel zu langsam beim Updaten aus CSV Dateien war. Mit viel zu langsam meine ich etwa Factor 20.
Heute morgen wollte/habe ich das ganze von
Code:
SELECT * from tab WHERE Feld like %suchstring% order by xxx LIMIT 5
Code:
Select * from tab Where ... AND Match () Against () in Boolean Mode ORDER by xxx LIMIT 5
Im FULLTEXT habe ich 2 Spalten aufgenommen ( 1 x varchar(255) und 1 x varchar(1024).
Es scheint nun so, als würde es etwas schneller laufen. Jedoch bin ich mit dem Result (etwa 2 sek.) nicht zufrieden. Andere Webseiten bekommen das sehr viel schneller hin.
Nun meine Frage: War mein Umbau nun die beste Möglichkeit für mySQL5.7.
Würde es ne Menge bringen es in eine (MEMORY) DB zu packen? Die CSV's werden eh 1 x am Tag neu eingelesen.
Die Maschine ist ein 4Core AMD mit 4GB RAM.
Hat da jemand Verbesserungsvorschläge?
Kommentar