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

O que é mais rápido:vários INSERTs únicos ou um INSERT de várias linhas?


https://dev.mysql.com/doc/refman /8.0/en/insert-optimization.html

O tempo necessário para inserir uma linha é determinado pelos seguintes fatores, onde os números indicam proporções aproximadas:
  • Conectando:(3)
  • Enviando consulta ao servidor:(2)
  • Consulta de análise:(2)
  • Inserindo linha:(1 × tamanho da linha)
  • Inserindo índices:(1 × número de índices)
  • Encerramento:(1)

A partir disso, deve ser óbvio que o envio de uma instrução grande economizará uma sobrecarga de 7 por instrução de inserção, que ao ler o texto também diz:

Se você estiver inserindo muitas linhas do mesmo cliente ao mesmo tempo, use instruções INSERT com várias listas VALUES para inserir várias linhas por vez. Isso é consideravelmente mais rápido (muitas vezes mais rápido em alguns casos) do que usar instruções INSERT de linha única separadas.