Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zużycie pamięci PDO/MySQL z dużym zestawem wyników

Po utworzeniu połączenia należy ustawić PDO::MYSQL_ATTR_USE_BUFFERED_QUERY na fałsz:

<?php
$pdo = new PDO('mysql:host=127.0.0.1', 'foo', 'bar', array(
    PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION,
));
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);

// snip

var_dump(memory_get_usage());
var_dump(memory_get_peak_usage());

To wyprowadza:

int(39508)
int(653920)
int(668136)

Niezależnie od rozmiaru wyniku, użycie pamięci pozostaje w zasadzie statyczne.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Usuń wiersz, jeśli tabela istnieje SQL

  2. Jak wywołać procedurę składowaną mysql z argumentami z wiersza poleceń?

  3. Znaki ي i ی oraz różnica w języku perskim - Mysql

  4. Czy mogę SSH do MySQL za pomocą narzędzi GUI?

  5. Zamów SQL według najsilniejszego LIKE?