Mailinglisten-Archive |
Hallo Mitleser, ich spiele gerade mit der Volltextsuche von MySQL 3.23.33 etwas herum und bin mit der Geschwindigkeit sehr zufrieden. In einem LAMP-Projekt wird aus einer Liste von ca. 20.000 Artikeln mit je ca. 50 Zeichen nach bestimmten Wörtern gesucht. Alles funktioniert wunderbar, nur gibt es ein Problem: Es kann unter bestimmten Umständen zu einer sehr großen Ergebnismenge kommen (bestimmte Wörter kommen leider in sehr vielen Artikeln vor). Es ist klar, daß ich keine 1000 Artikel mit einer php-Seite ausgebe, also wird die Ausgabe über mehrere Seiten geleitet. Nur: wie gehe ich da am besten vor? Alternative 1: Zwei SQL-Abfragen. Abfrage 1 ermittelt die Anzahl der Treffer, Abfrage zwei wird mit "LIMIT 0,10" gestartet und liefert mit demzufolge nur die ersten 10 Treffer. Analog geht es dann mit "LIMIT 10,10" zur zweiten Seite etc. Alternative 2: Ich lege die Ergebnismenge in einem Array (nur die Artikelnummern) ab und steuere von php die Ausgabe, gebe also von dem Array nur die ersten 10, dann die zweiten 10 ... etc. Artikel zurück. Bei der Alternative 1 "gefällt" mit nicht, daß ich von Anfang an schon mindestens zwei Abfragen habe, bei der Alternative 2 besteht die Gefahr, daß das Array mit der Ergebnismenge "zu groß" wird und damit Speicherprobleme auftreten könnten (Bsp.: mehrere User machen gleichzeitig diese Abfrage). Was würdet Ihr vorschlagen? Danke schon einmal für evtl. Tips. Bye, Heiko --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive