Hallo Leute,
Ich habe eine Datenbank mit ca. 1 Mio. Einträgen. Ein Eintrag besteht aus ca 5 - 10 Worten. Jetzt möchte ich in diesen Einträgen suchen. Um das zu realisieren benutze ich die MySql-Volltextsuche mit MATCH ... AGAINST. (Fulltext-index). Das klappte bisher auch recht gut. Als es zu langsam wurde hab ich am Query-Cache etwas rumgeschraubt. Dann gings wieder einigermaßen. Da sich die Zugriffe und die Datenbankeinträge weiter häufen, muss jetzt eine schnellere Suche her.
Ein grund für die recht langsame Suche ist vermutlich, dass zu einem Suchwort gut 30.000 Einträge gefunden werden. Die Sortierung von so vielen Einträgen dauert natürlich.
Ich habe überlegt ob ich selbst eine Volltextsuch realisiere wie z.B. hier vorgestellt: http://www.phpbar.de/w/Volltextsuche
Jetzt versteh ich aber nicht genau wieso diese selbst programmierte Volltextsuche schneller als die MySql-interne (Match...Against). Woduch entsteht der Performancegewinn.
Was ich brauch ist eine sehr schnelle Volltextsuche, schneller als die MySql-interne. Aber ob der Weg mit den drei zusätzlichen Tabellen (siehe Link) wirklich der richtige ist, weiß ich nicht??
Was mir bei dieser Variante auch Sorgen macht, ist die Performanceeinbuse bei mehreren Suchbegriffen. Siehe: (etwas runterscrollen) http://www.phpbar.de/w/Diskussion:Volltextsuche
Ich weiß das ist viel Zeug grad und bestimmt auch nicht das einfachste Thema, aber über ein paar Tipps bzw. Hilfestellungen würde ich mich sehr freuen. Danke schonmal!!