Ir para conteúdo

Arquivado

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

marcelobbt

Gravação de grande volume de dados no bd

Recommended Posts

Estava tentando gravar dados de um mapa no banco de dados através de um código em php para não precisar ficar digitando tudo, mas deu o seguinte erro:

 

Fatal error: Maximum execution time of 30 seconds exceeded in

 

É uma matriz de 200 x 200, o que vai dar 40.000 registros, mas ele não fez nem 1/4 dos registros.

 

Alguém tem uma solução para este erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode alterar o tempo limite de execução com o comando

 

ini_set('max_execution_time', 300);

coloquei 300 para 5 min mais você pode aumentar ou diminuir como desejar, e assim o tempo máximo de execução só é alterado nessa página ao invés de editar o php.ini o que não vai poder fazer no seu servidor se for hospedagem padrão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que isso resolve. posso czrregar a tabela e depois importa-la no servidor se for o caso.

 

Obrigado pela dica, vou testar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não vi como está montando as queries, mas de qualquer forma,

 

um exemplo, ao invés de fazer

 

INSERT INTO nome_tabela VALUES ('valor1', 'valor2');
INSERT INTO nome_tabela VALUES ('valor1', 'valor2');
INSERT INTO nome_tabela VALUES ('valor1', 'valor2');

 

Faça uma query só com multiplas instruções:

 

INSERT INTO nome_tabela VALUES 
('valor1', 'valor2'),
('valor1', 'valor2'),
('valor1', 'valor2');

 

É bom definir limite de rotação.

O Workbench define um padrão de 10 mil linhas.

Os limites dependem da capacidade de processamento do ambiente e podem ser customizados.

 

Experimente exportar com o Workbench para ver o formato do SQL que é construído.

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.