phpbar.de logo

Mailinglisten-Archive

[php] PEAR::DB fetch performance

[php] PEAR::DB fetch performance

Christoph Rust phpmaillist at webmaster-rust.de
Sam Jun 19 10:27:23 CEST 2004


Dennis Sterzenbach wrote:


> Hallo Liste,
>
> hat jemand von Euch Erfahrung mit der Performance der PEAR::DB?
> Mich interessieren vor allem Dinge wie die Performance der
> unterschiedlichen FETCH-Modi (ie. DB_FETCHMODE_ORDERED,
> DB_FETCHMODE_ASSOC ...).
>
> Afaik sind assoziative Arrays ja aufwändiger (vor allem vom Speicher).
> Spiegelt sich das Eures Wissens aber auch wider oder fällt es gar nicht
> so sehr ins Gewicht?
>
> Ich nutze z.Z. fast ausschließlich DB_FETCHMODE_ASSOC für Abfragen mit
> mehr als nur einem Attribut im Resultat. Ich weiß aber nicht, ob
> vielleicht etwas dagegen sprechen könnte.

Hi Dennis!

Ich benutze PEAR::DB schon seit längerem und hab bis jetzt auch nur gute
Erfahrungen damit gemacht. Das einzigste was mich gestört hat, war das man
im Script nie die Methoden alleine nutzen konnte, sondern nimmer erst die
resid und Co speichern muss, damit man ein result bekommt. Das hab ich aber
mit einer Art Interface gelöst, somit kann ich jetzt z.b. die Methode
DB::getAll() alleine ansprechen und bekomme mein Ergebnis noch in der selben
Zeile.

Die Performance finde ich gut, auch beim Fetch-Modus DB_FETCHMODE_ASSOC. Ich
nutze das meistens bei ca. 300 Datensätzen und es war noch nie irgendwie
sonderlich langsam.
Wenn du nicht unbedingt diesen Modus brauchst, ist es sicherlich besser
darauf zu verzichten, jedoch wird man das "selber" mit einem assoziativen
Array als Speicher auch nicht besser hinbekommen.

Ein Tipp noch:
Wenn du z.b. DB::getOne() nutzt, solltest du in deiner Query nicht unbedingt
"SELECT * FROM table* verwenden, dass macht sich dann schon bemerkbar.

M.f.G.



php::bar PHP Wiki   -   Listenarchive