Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

montano

Allowed memory

Recommended Posts

boa tarde.. Estou tentando fazer um select em meu BD:

 

SELECT con.n_contrato,con.cod_cliente,con.cod_produto,con.rua,con.numero,con.complemento,con.bairro,con.cep,con.cidade,cli.tel_contato FROM tb_contrato con, tb_cliente cli

Isso esta me retornando um erro de :[19-Oct-2009 16:44:56] PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 50 bytes) in /home/insidete/extranet/model/dao/Relatorios/AntigoPmeDao.php on line 24

 

Essa linha corresponde a isso:

$registros[self::$ponteiro] = new AntigoPme();
É onde mando fazer o encapsulamento no BEAN.

 

Oque eu faço? :S

Compartilhar este post


Link para o post
Compartilhar em outros sites

no php.ini, aumente o limite de consumo da memória

 

colque um valor maior do atual e veja se resolve, senão, continue aumentando.

 

exemplo,

 

60mb

memory_limit = 60M

 

128mb

memory_limit = 128M

é recomendável também analisar a query sql e outros processos de execução do script, pois está utilizando muita memória.

 

no seu caso, ultrapassou o limite de 30mb

Compartilhar este post


Link para o post
Compartilhar em outros sites

hinom,

 

Esse limite esta ligado ao numero de dados carregado na query?, porque eu não quero ter que ficar aumentando essa memoria, porque se pra 700 linhas ele gastou + de 30mb, daqui a 1 ano ele vai ta gastando quanto...

Qual é o recomendado para isso?

 

Você acha que é o fato de eu estar fazendo DAO, se eu fizesse somente DA, sem estanciar um objeto para querys grandes isso ajuda na velocidade?

 

O problema de memoria ocorre na query ou no estanciamento? pois o erro esta dando na linha onde estancio meu Object do DAO.

 

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode aumentar para algo em torno de 128mb se o servidor suportar

 

para um server com 4gb de memoria está bom.

 

quanto à sua consulta, se realmente é necessário selecioar tantos registros num unico script, aconselho a utilizar a função mysql_free_result();

 

http://php.net/mysql_free_result

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.