sql >> Databáze >  >> RDS >> Mysql

Spotřeba paměti PDO/MySQL s velkou sadou výsledků

Po vytvoření připojení je třeba nastavit PDO::MYSQL_ATTR_USE_BUFFERED_QUERY na false:

<?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());

Výsledkem je:

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

Bez ohledu na velikost výsledku zůstává využití paměti do značné míry statické.



  1. Jak exportovat a importovat existujícího uživatele (s jeho oprávněními!)

  2. Použití spojení ke kombinování dat z různých tabulek v PostgreSQL

  3. Jak mohu uvést VŠECHNY granty, které uživatel obdržel?

  4. Použití databáze Oracle s CakePHP 2.0