sql >> Database >  >> RDS >> Mysql

Het geheugengebruik van MySQL-resultaten begrijpen in PHP (PDO)

Het is moeilijk om een ​​specifiek antwoord te geven zonder uw specifieke code te zien. Dat gezegd hebbende, PHP-datastructuren zoals arrays zijn associatief. De PHP-ontwerpers hebben bewust een afweging gemaakt om extra RAM te gebruiken om tijd te besparen op array-toegang.

U kunt op een aantal manieren geheugen besparen. Om te beginnen kunt u elke rij van uw resultatenset ophalen als een numerieke in plaats van een associatieve array. Lees dit. http://php.net/manual/en/mysqli-result .fetch-array.php

Bovendien slurpt PHP alle rijen in je resultatenset in één keer op, tenzij je aangeeft dat niet te doen. Deze slurpoperatie verbruikt veel RAM. U hebt dat niet nodig als u van plan bent uw grote resultatenset rij voor rij te verwerken. Je hebt een niet-gebufferde zoekopdracht nodig om dat te doen. Lees dit:http://php.net/manual/en/mysqlinfo. concepten.buffering.php



  1. Een speciaal netwerk configureren voor communicatie met beschikbaarheidsgroepen

  2. Android:SQLite bespaart stringarray?

  3. De tabelnaam overschrijven in Flask-Alchemy

  4. Hoe maak je een directory aan in Oracle?