Nejpravděpodobněji je to proto, že vkládáte záznamy takto:
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");
Odeslání nového dotazu pokaždé, když potřebujete INSERT
něco je špatné pro výkon. Místo toho tyto dotazy zkombinujte do jednoho dotazu, jako je tento.
INSERT INTO `table1` (`field1`, `field2`) VALUES ("data1", "data2"),
("data1", "data2"),
("data1", "data2"),
("data1", "data2"),
("data1", "data2");
Další informace o rychlosti vkládání si můžete přečíst také v Dokumentech MySQL . Jasně popisuje následující.
Samozřejmě nekombinujte VŠECHNY, pokud je množství OBROVSKÉ. Řekněme, že musíte vložit 1000 řádků, pak to nedělejte jeden po druhém. Pravděpodobně byste se však neměli snažit mít všech 1000 řádků v jednom dotazu. Místo toho jej rozdělte na menší velikosti.
Pokud je stále opravdu pomalý, může to být způsobeno tím, že je pomalý váš server.
Upozorňujeme, že v kombinovaném dotazu samozřejmě nepotřebujete všechny tyto mezery, pouze proto, abyste získali lepší přehled o odpovědi.