sql >> Database teknologi >  >> RDS >> Mysql

Læser PHP7's PDO ext hele resultatsættet i hukommelsen?

Det er ikke direkte PHP7-relateret. Problemet skyldes ny mysqlnd driver, så du kan opleve det samme problem selv med PHP 5.x. Det er faktisk en fejlrettelse, fordi selv før hukommelsen stadig var allokeret, men den tæller ikke med i memory_limit .

For at undgå et hukommelsesproblem skal du bruge forespørgsler uden buffer for de store resultatsæt.

Så for den forespørgsel, der forventer et stort datasæt, skal du indstille den korrekte indstilling som denne:

$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);

Til den videre læsning har jeg en anstændig forklaring i min PDO-tutorial , tak til Nikic, hvis kritiske feedback var uvurderlig.




  1. Advarsel:mysql_fetch_array() forventer, at parameter 1 er ressource, boolesk givet i

  2. Tilføj IIS 7 AppPool-identiteter som SQL Server-logoner

  3. SQL Server Failover Cluster Installation -3

  4. Ændre på Big Table i RDS Løsning til tabel fuld fejl