sql >> Databasteknik >  >> RDS >> Mysql

Vilket är snabbare:flera enkla INSERT eller en INSERT med flera rader?

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

Tiden som krävs för att infoga en rad bestäms av följande faktorer, där siffrorna anger ungefärliga proportioner:

  • Ansluter:(3)
  • Skickar fråga till servern:(2)
  • Parseringsfråga:(2)
  • Infogar rad:(1 × storleken på raden)
  • Infoga index:(1 × antal index)
  • Stänger:(1)

Av detta borde det vara uppenbart att genom att skicka ett stort uttalande sparar du en overhead på 7 per infogningssats, vilket vid vidare läsning av texten också säger:

Om du infogar många rader från samma klient samtidigt, använd INSERT-satser med flera VALUES-listor för att infoga flera rader åt gången. Detta är betydligt snabbare (många gånger snabbare i vissa fall) än att använda separata enrads INSERT-satser.



  1. Openshift och net-ssh inkompatibilitet? (2.9.3-beta1 mot 2.9.2)

  2. Hur man läser och tolkar SQL-fel

  3. Oracle instantclient DYLD_LIBRARY_PATH-fel

  4. MySQL:ALTER IGNORE TABLE ger brott mot integritetsbegränsningar