Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

fetchAll VS fetch

"Se tivermos muitas linhas sendo trazidas e tentarmos executar o fetchAll, iremos colocar todas as linhas em memória de uma vez só. Isso pode trazer problemas. Utilizando o fetch dentro de um while, pode nos permitir buscar todos os resultados, mas colocando um de cada vez na memória"

Se fetch dentro de um laço possui um melhor gerenciamento de memoria qual a vantagem de usar fetchAll, sabendo que um dia ele pode vir a se tornar um problema devido ao estouro de memoria ?

1 resposta
solução

Não são todas as tabelas do nosso banco de dados que trabalhamos com grandes conjuntos de dados que necessitam de fato desse "gerenciamento de memória", por exemplo, uma tabela de categoria de produtos, essa tabela dificilmente terá uma grande quantidade de registros que possa acarretar em problemas de desempenho, porem claro, deve-se analisar o cenário. Nesses casos, podemos trabalhar com o fetchAll sem que ocorra problema de estouro de memória "PHP Fatal error: Allowed memory size...", A execução do fetchAll é mais rápida, porem essa diferença de velocidade é mínima, e se preferir percorrer o loop com o fetch, também não a problema.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software