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

Risultati della query ORM:array e handle di risultato racchiusi nell'interfaccia Iterator

Dipende dal database che stai utilizzando e dalla configurazione del database.

Per MySQL è necessario assicurarsi di utilizzare query bufferizzate. In PDO lo imposti così:

$myPdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);

Ciò significa che tutti i dati verranno inviati al client (non lo stesso che recuperarli tutti in PHP).

L'altra alternativa (probabilmente peggiore) consiste nell'aprire una nuova connessione al database ogni volta che rilevi una query in esecuzione con un set di risultati ancora aperto.

Il normale mysql_query() utilizza una query memorizzata nel buffer, in modo che funzioni con più set di risultati.