Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

InnoDB inserções muito lentas e lentas


O InnoDB fornece uma estrutura de chaves mais complexa que o MyIsam (FOREIGN KEYS ) e a geração de chaves é muito lenta no InnoDB. Você deve incluir todas as instruções de atualização/inserção em uma transação (essas são realmente muito rápidas no InnoDB, uma vez que eu tinha cerca de 300.000 consultas de inserção na tabela InnoDb com 2 índices e levou cerca de 30 minutos, uma vez que incluí cada 10.000 inserções em BEGIN TRANSACTION e COMMIT levou menos de 2 minutos).

Eu recomendo usar:
BEGIN TRANSACTION;
SELECT ... FROM products;
UPDATE ...;
INSERT INTO ...;
INSERT INTO ...;
INSERT INTO ...;
COMMIT;

Isso fará com que o InnoDB atualize os índices apenas uma vez e não algumas centenas de vezes.

Deixe-me saber se funcionou