Najprawdopodobniej dlatego, że wstawiasz takie rekordy:
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");
Wysyłanie nowego zapytania za każdym razem, gdy trzeba INSERT
coś źle wpływa na wydajność. Zamiast tego połącz te zapytania w jedno zapytanie, tak jak to.
INSERT INTO `table1` (`field1`, `field2`) VALUES ("data1", "data2"),
("data1", "data2"),
("data1", "data2"),
("data1", "data2"),
("data1", "data2");
Możesz również przeczytać więcej o szybkości wstawiania w dokumentacji MySQL . Wyraźnie opisuje to, co następuje.
Oczywiście nie łącz WSZYSTKICH, jeśli ilość jest OGROMNA. Załóżmy, że masz 1000 wierszy, które musisz wstawić, a następnie nie rób tego pojedynczo. Ale prawdopodobnie nie powinieneś jednakowo próbować mieć wszystkich 1000 wierszy w jednym zapytaniu. Zamiast tego podziel go na mniejsze rozmiary.
Jeśli nadal działa bardzo wolno, może to oznaczać, że Twój serwer jest wolny.
Pamiętaj, że oczywiście nie potrzebujesz tych wszystkich spacji w zapytaniu złożonym, to po prostu po to, aby uzyskać lepszy przegląd odpowiedzi.