sql >> Database teknologi >  >> RDS >> Mysql

Hvad er hurtigere:flere enkelt INSERT eller en INSERT med flere rækker?

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

Den tid, der kræves for at indsætte en række, bestemmes af følgende faktorer, hvor tallene angiver omtrentlige proportioner:

  • Forbinder:(3)
  • Sender forespørgsel til server:(2)
  • Parsing forespørgsel:(2)
  • Indsættelse af række:(1 × rækkens størrelse)
  • Indsættelse af indekser:(1 × antal indekser)
  • Lukker:(1)

Heraf burde det være indlysende, at du ved at sende en stor erklæring vil spare dig for en overhead på 7 pr. indsæt erklæring, som ved videre læsning af teksten også siger:

Hvis du indsætter mange rækker fra den samme klient på samme tid, skal du bruge INSERT-sætninger med flere VALUES-lister til at indsætte flere rækker ad gangen. Dette er betydeligt hurtigere (mange gange hurtigere i nogle tilfælde) end at bruge separate enkeltrækkede INSERT-sætninger.



  1. Hvornår skal man bruge Common Table Expression (CTE)

  2. Webinar:Nye funktioner i PostgreSQL 11 [Opfølgning]

  3. Sådan starter, genstarter, kontrollerer du status og stopper MySQL-serveren

  4. Find ud af, om en partition er komprimeret i SQL Server (T-SQL)