dedlfix: PHP Variable aus while Schleife

Beitrag lesen

Hi!

Denn besser (im Sinne von Stil und Performance) geworden ist es nun auch nicht. Jetzt befragst du das DBMS zweimal hintereinander mit der gleichen Frage. MySQL kann optimieren,
Der PHP-Programmierer kann noch besser optimieren, indem er anstelle der zweiten DB-Abfrage einfach mysql_data_seek aufruft.

Stimmt, das ist in dem Fall sogar in Bezug auf Speicherverbrauch besser, denn die MySQL-API führt unsichtbar bereits beim mysql_query() einen Fetch aller Daten durch und legt sie in einem nichtöffentlichen Puffer ab. Die Fetch-Funktionen greifen auf diesen Puffer zu, statt das Ergebnis direkt beim Server abzuholen. Deshalb sind auch solche Funktionen wie mysql_data_seek() und mysql_num_rows() verwendbar. Im Gegensatz dazu gibt es die Möglichkeit, ungepufferte Abfragen zu starten, muss dann aber auf die genannten Funktionen verzichten (beziehungsweise kann mysql_num_rows() erst nach vollständigem Fetchen sinnvoll verwenden.)

Lo!