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

Desempenho Inserções múltiplas ou inserção única de vários valores


Sim, geralmente a inserção em massa é mais rápida do que uma única inserção por vez, pois evita a comunicação intermediária que estava ocorrendo para cada instrução de inserção.

Mas às vezes isso leva a problemas, pois as instruções de inserção/atualização adquirem bloqueios exclusivos em tabelas/linhas, o que significa que nenhum outro processo/conexão pode usar a tabela naquele momento.

Se você tiver vários processos usando o banco de dados ao mesmo tempo, alguns dos quais estão lendo da tabela e alguns estão gravando, as operações inteiras serão bloqueadas/paradas no momento da inserção em massa

portanto, a inserção em massa bloqueará a tabela por mais tempo do que a inserção única, o que pode causar problemas para outros processos se o tempo de bloqueio for maior e o banco de dados não estiver ajustado para isso.

Se você estiver apenas inserindo no banco de dados sem outra operação, vá para a inserção em massa de um arquivo (que é muito mais rápido) e, se você tiver outros processos, ajuste a frequência de inserção em massa considerando o bloqueio.

Possível duplicata é de declarações de atualização É atualização em massa mais rápida do que uma única atualização no db2?