Buffered and Unbuffered queries

Queries are using the buffered mode by default. This means that query results are immediately transferred from the MySQL Server to PHP and then are kept in the memory of the PHP process. This allows additional operations like counting the number of rows, and moving (seeking) the current result pointer. It also allows issuing further queries on the same connection while working on the result set. The downside of the buffered mode is that larger result sets might require quite a lot memory. The memory will be kept occupied till all references to the result set are unset or the result set was explicitly freed, which will automatically happen during request end at the latest. The terminology "store result" is also used for buffered mode, as the whole result set is stored at once.

Hinweis:

When using libmysqlclient as library PHP's memory limit won't count the memory used for result sets unless the data is fetched into PHP variables. With mysqlnd the memory accounted for will include the full result set.

Unbuffered MySQL queries execute the query and then return a resource while the data is still waiting on the MySQL server for being fetched. This uses less memory on the PHP-side, but can increase the load on the server. Unless the full result set was fetched from the server no further queries can be sent over the same connection. Unbuffered queries can also be referred to as "use result".

Following these characteristics buffered queries should be used in cases where you expect only a limited result set or need to know the amount of returned rows before reading all rows. Unbuffered mode should be used when you expect larger results.

Because buffered queries are the default, the examples below will demonstrate how to execute unbuffered queries with each API.

Beispiel #1 Unbuffered query example: mysqli

<?php
$mysqli  
= new mysqli("localhost""my_user""my_password""world");
$uresult $mysqli->query("SELECT Name FROM City"MYSQLI_USE_RESULT);

if (
$uresult) {
   while (
$row $uresult->fetch_assoc()) {
       echo 
$row['Name'] . PHP_EOL;
   }
}
?>

Beispiel #2 Unbuffered query example: pdo_mysql

<?php
$pdo 
= new PDO("mysql:host=localhost;dbname=world"'my_user''my_pass');
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERYfalse);

$uresult $pdo->query("SELECT Name FROM City");
if (
$uresult) {
   while (
$row $uresult->fetch(PDO::FETCH_ASSOC)) {
       echo 
$row['Name'] . PHP_EOL;
   }
}
?>

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Was genau bedeutet "Vibe Coding"? Ein tiefgehender Blick für Entwickler

In der Welt der Softwareentwicklung gibt es unzählige Wege, wie man an ein Projekt herangeht. Manche schwören auf strikte Planung, andere auf bewährte Algorithmen und wieder andere lassen sich von etwas ganz anderem leiten: ihrem Gefühl. ...

admin

Autor : admin
Kategorie: Software & Web-Development

PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren. ...

TheMax

Autor : TheMax
Kategorie: PHP-Tutorials

Midjourney Tutorial - Anleitung für Anfänger

Über Midjourney, dem Tool zur Erstellung digitaler Bilder mithilfe von künstlicher Intelligenz, gibt es ein informatives Video mit dem Titel "Midjourney Tutorial auf Deutsch - Anleitung für Anfänger" ...

Mike94

Autor : Mike94
Kategorie: KI Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

mein PHP-Neustart und eine kleine Baustelle

Hallo zusammen, Ich heiße Matthias Wagner und bin seit ein paar Tagen hier im Forum. Ich habe früher hauptsächlich mit HTML und ein bisschen Ja ...

Geschrieben von matthiaswagner am 30.09.2025 09:56:45
Forum: User stellen sich vor
"Baustellen" endlich angehen?

Beleuchtung ist zum Beispiel ein Thema, gerade Außenleuchten, vor welchem ich mich jahrelang gedrückt habe. Jetzt gibt es kein Zurück! Basketba ...

Geschrieben von seraphina am 30.09.2025 05:19:50
Forum: Off-Topic Diskussionen
Benutzt jemand PHPRUNNER ?

Jetzt soll anhand der gewählten Auswahl von (PLZ) im Feld ( ORT ) der gewählte primary_key und davon nur der passende Wert von "city" automatisc ...

Geschrieben von seraphina am 30.09.2025 05:18:09
Forum: Off-Topic Diskussionen
mysql tabelle mit php ausgeben und zeilenfarbe je nach inhalt ändern

You can output a MySQL table with PHP and change row colors based on content by checking each row’s value inside your loop and assigning a CSS c ...

Geschrieben von AxelWilson am 29.09.2025 12:00:53
Forum: PHP Developer Forum