sql >> Databasteknik >  >> RDS >> Mysql

Förstå minnesanvändning av MySQL-resultat i PHP (PDO)

Det är svårt att ge ett specifikt svar utan att se din specifika kod. Med det sagt, PHP-datastrukturer som arrayer är associativa. PHP-designerna gjorde avsiktligt en avvägning för att använda extra RAM för att spara tid på matrisåtkomst.

Du kan spara minne på ett par sätt. För det första kan du hämta varje rad i din resultatuppsättning som en numerisk, snarare än en associativ array. Läs detta. http://php.net/manual/en/mysqli-result .fetch-array.php

För en annan sak, PHP slurpar alla rader i din resultatuppsättning på en gång om du inte säger åt det att inte göra det. Denna slurp-operation förbrukar mycket RAM-minne. Det behöver du inte om du planerar att bearbeta din stora resultatuppsättning en rad i taget. Du behöver en obuffrad fråga att göra det. Läs detta:http://php.net/manual/en/mysqlinfo. concepts.buffering.php



  1. Datetime NU PHP mysql (+ PDO-variant)

  2. OPENJSON "Felaktig syntax nära nyckelordet 'med'." i SQL Server (LÖST)

  3. SQL Server CRUD Operations

  4. Skillnad mellan WITH-sats och underfråga?