phpbar.de logo

Mailinglisten-Archive

eine oder zwei Abfragen
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

eine oder zwei Abfragen



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 


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive