Mailinglisten-Archive |
* Dario Nuevo <php at xbe.ch> schrieb: <snip> > ich bin auf der suche nach einem engine (eine klasse oder script) > welches grosse mengen text verwalten kann. mein problem ist, dass mysql > mit einer merged table von 100mb seine performance-probleme hat Schonmal mit postgresql versucht ? Indices richtig gesetzt ? > (wenigstens auf meinem lahmen server) und nun suche ich nach Welche Hardware ? Welches OS ? <snip> > möglichkeiten, um die grossen inhalte in files auszulagern wo sie ev. > schneller gelesen werden können. Wiso sollte das schneller gehen, wenn Du evtl. mit jedem request das File neu aufmachst und vielleicht auch keinen sinnvollen Cache hast ? > dazu bräuchte ich z.b. eine klasse welche die texte verwaltet und man > einzelne "datensätze" anfordern kann - und die daten sollten > durchsuchbar sein. das ist das eben die zentrale frage. wenn ich die > daten in files auslagere, wie kann ich sie durchsuchbar halten? Index drüberlegen. htdig ist Dein Freund :) Etwas ähnliches gibt es auch für postgreSQL. Der "Trick" besteht halt darin, daß man alle Wörter in den Texten indiziert (also eine Map Wort<->Text baut) und das Suchmuster auch in Wörter zerlegt und dann erstmal die passenden Wörter aus dem Dictionary raussucht, um dann danach in ersterer map Suchen zu können. <snip> > ich habe bereits im web nach indexer gesucht, jedoch nichts wirklich > schlaues gefunden. viele benötigen binaries (kann ich schlecht in die > applikation nehmen) oder sind anscheinend zu langsam bei grösseren > datenmengen. meine 100mb gehen jetzt ja noch aber es kann schnell > wesentlich mehr werden und mysql hält da nicht mit, wohl wegen meiner > alten ide-harddisk ;) Vielleicht kannst Du der box auch etwas mehr Ram geben und die sort bufffers grösser machen. Aber wahrscheinlich liegt Dein Problem eher darin, daß Du bisher keinen brauchbaren Index verwendet hast, sondern einfach nur mittels pattern-matching direkt in der Textmenge gesucht hast, was natürlich auf einen sehr teuren sequentiellen Scan hinausläuft. <snip> > ps: ja, ich habe indexes definiert in der mysql table ;-) Und wie sieht Deine Query aus ? Ich vermute mal, daß in Deinem Fall keiner der gebotenen keytypes greifen kann :) cu -- --------------------------------------------------------------------- Enrico Weigelt == metux IT service phone: +49 36207 519931 www: http://www.metux.de/ fax: +49 36207 519932 email: contact at metux.de cellphone: +49 174 7066481 --------------------------------------------------------------------- -- DSL ab 0 Euro. -- statische IP -- UUCP -- Hosting -- Webshops -- ---------------------------------------------------------------------
php::bar PHP Wiki - Listenarchive