Mysql
 sql >> база данни >  >> RDS >> Mysql

PDO ext на PHP7 чете ли целия набор от резултати в паметта?

Не е пряко свързано с PHP7. Проблемът се дължи на нов mysqlnd драйвер, така че можете да изпитате същия проблем дори и с PHP 5.x. Това всъщност е корекция на грешки, защото дори преди паметта все още е била разпределена, но не се брои към memory_limit .

За да избегнете проблем с паметта, трябва да използвате небуферирани заявки за големите набори от резултати.

Така че за заявката, която очаква голям набор от данни, задайте правилната настройка по следния начин:

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

За по-нататъшно четене имам прилично обяснение в моя урок за PDO , благодарение на Nikic, чиято критична обратна връзка беше безценна.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Таблицата е посочена два пъти, и като цел за 'UPDATE' и като отделен източник за данни в mysql

  2. MySQL тригер преди вмъкване на колона за актуализиране с нов идентификатор за автоматично увеличение

  3. Как да коригирате java.sql.SQLException:Колона „id“ не е намерена. грешка в Spring Boot

  4. Как да върнете JSON обект от PHP за четене от приложението за Android

  5. Защо SQLAlchemy count() е много по-бавен от необработената заявка?