Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verständnis der Speichernutzung des MySQL-Ergebnisses in PHP (PDO)

Es ist schwierig, eine spezifische Antwort zu geben, ohne Ihren spezifischen Code zu sehen. Davon abgesehen sind PHP-Datenstrukturen wie Arrays assoziativ. Die PHP-Designer gingen absichtlich einen Kompromiss ein, um zusätzlichen RAM zu verwenden, um Zeit beim Array-Zugriff zu sparen.

Sie können auf verschiedene Arten Speicher sparen. Zum einen können Sie jede Zeile Ihrer Ergebnismenge als numerische statt als assoziatives Array abrufen. Lesen Sie dies. http://php.net/manual/en/mysqli-result .fetch-array.php

Zum anderen schlürft PHP alle Zeilen in Ihrer Ergebnismenge auf einmal, es sei denn, Sie sagen es nicht. Diese Slurp-Operation verbraucht viel RAM. Sie brauchen das nicht, wenn Sie Ihre große Ergebnismenge zeilenweise verarbeiten möchten. Sie benötigen eine ungepufferte Abfrage das zu tun. Lesen Sie dies:http://php.net/manual/en/mysqlinfo. Konzepte.buffering.php