É mais provável que você esteja inserindo registros assim:
INSERT INTO `table1` (`field1`, `field2`) VALUES ("data1", "data2");
INSERT INTO `table1` (`field1`, `field2`) VALUES ("data1", "data2");
INSERT INTO `table1` (`field1`, `field2`) VALUES ("data1", "data2");
INSERT INTO `table1` (`field1`, `field2`) VALUES ("data1", "data2");
INSERT INTO `table1` (`field1`, `field2`) VALUES ("data1", "data2");
Enviando uma nova consulta cada vez que você precisa
INSERT
algo é ruim para o desempenho. Em vez disso, combine essas consultas em uma única consulta, como esta. INSERT INTO `table1` (`field1`, `field2`) VALUES ("data1", "data2"),
("data1", "data2"),
("data1", "data2"),
("data1", "data2"),
("data1", "data2");
Você também pode ler mais sobre a velocidade de inserção nos Documentos MySQL . Ele descreve claramente o seguinte.
Claro que não combine TODOS eles, se a quantidade for ENORME. Digamos que você tenha 1.000 linhas que precisa inserir e não faça isso uma de cada vez. Mas você provavelmente não deve tentar ter todas as 1.000 linhas em uma única consulta. Em vez disso, divida-o em tamanhos menores.
Se ainda estiver muito lento, pode ser porque seu servidor está lento.
Observe que você obviamente não precisa de todos esses espaços na consulta combinada, isso é simplesmente para obter uma visão geral melhor da resposta.