phpbar.de logo

Mailinglisten-Archive

Volltextsuche ist langsam

Volltextsuche ist langsam

Sebastian Mendel lists at sebastianmendel.de
Die Sep 13 13:58:56 CEST 2005


Ilja Bekowies wrote:
> Hallo,
> 
> Hat jemand eine Idee, wie ich eine MySQL Volltextsuche optimiere in der 
> ich aber nicht nach der Relevanz, sondern nach einem anderen Spalte 
> sortieren will?
> 
> Sprich ich habe ein Feld mit den Textdaten, und ein Feld mit einem 
> Timestamp. Ich will nun alle Matches ungeachtet der Relevanz, nach 
> Timestamp sortiert (Seitenweise) anzeigen.
> 
> Da er ja fuer die Tabelle schon den Volltextindex benutzt, und ich den 
> anscheinend nicht durch die Spalte Timestamp erweitern kann - benutzt 
> mysql einen Filesort und ist somit recht lahm.
> 
> Zum anderen brauche ich auch die Anzahl der gefunden Ergebnisse ... 
> SQL_CALC_FOUND_ROWS ist aber ebenfalls in verbindung mit Volltextsuchen 
> sehr lahm...
> 
> Achso, es geht um Tabellen mit mehreren Millionen Datensaetzen a ca 2 kb 
> Text.
> Pro Query wuerde ich gerne unter 0.5 Sekunden kommen - ist das utopisch?

eventuell wenn du die Tabelle aufteilst, einmal Kopfdaten, alle Felder 
mit fester Breite und einmal Text-Daten, alle felder mit Variabler 
Breite, also auch deinem zu durchsuchenden Feld

ein JOIN anhand einer ID

und ORDER BY tab2.timestamp


eventuell hilft ja soagr ein JOIN auf ein Alias der selben Tabelle ...

musste mal probieren und dir das EXPLAIN anzeigen lassen


-- 
Sebastian Mendel

www.sebastianmendel.de
www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive