Problem an der Sache ist meistens, dass die Tabelle index_rel mit X-Millionen Einträgen vollgepumpt wird. Und Anfragen aus mehreren Wörtern lasten den MySQL Task vermutlich ziemlich aus, sodaß die Suche sehr langsam wird.
Erste Lösung: Index_* Tabellen auf InnoDb umstellen (bringt aber nur wenig)
Zweite und bessere Lösung:
//Suchart ausblenden(Wortteil, Ganzes Wort..)
plugin.tx_indexedsearch.blind.type=1
//Standard Suchart auf „einzelnes Wort“ setzen
plugin.tx_indexedsearch._DEFAULT_PI_VARS.type=20
Siehe auch: http://wiki.typo3.org/index.php/De:Indexed_searc
Weitere experimentelle Ideen:
Index auf die Spalten setzen:
index_rel.count
index_rel.freq
Mmmmm…
also ich hab die Erfahrug gemacht das bei den ganzen Joins der MySql-Anweisung und dem OrderBy hinten dran eine temporäre MySql-Tabelle aufgebaut wird, die bei zuwenig Memory auf der Festplatte landet…
Ein Lösung wäre das OrderBy aus der Anweisung herauszunehmen und dies über PHP nach zu programmieren… Ich hatte bei einer ählichen Anweisung 10 fachen Performanchegewinn!
Oder man erlaubt dem OrderBy über die MY.INI mehr Memory…
na schöne Grüße Micha