Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Resultados da consulta ORM:Arrays vs identificador de resultado encapsulado na interface do iterador


Depende de qual banco de dados você está usando e da configuração do banco de dados.

Para MySQL, você precisa ter certeza de usar consultas em buffer. No PDO você configura assim:
$myPdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);

Isso significa que todos os dados serão enviados para o cliente (não é o mesmo que buscar tudo em PHP).

A outra alternativa (provavelmente pior) é abrir uma nova conexão de banco de dados sempre que você detectar uma consulta sendo executada com um conjunto de resultados ainda aberto.

O normal mysql_query() usa uma consulta em buffer, para que funcione com vários conjuntos de resultados.