sql >> Databáze >  >> RDS >> Mysql

Co je rychlejší:více samostatných INSERTů nebo jeden víceřádkový INSERT?

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

Čas potřebný pro vložení řádku je určen následujícími faktory, kde čísla udávají přibližné proporce:

  • Připojování:(3)
  • Odesílání dotazu na server:(2)
  • Analyzační dotaz:(2)
  • Vložení řádku:(1 × velikost řádku)
  • Vkládání indexů:(1 × počet indexů)
  • Uzavření:(1)

Z toho by mělo být zřejmé, že odesláním jednoho velkého výpisu ušetříte režii 7 na jeden vložený výpis, což při dalším čtení textu také říká:

Pokud vkládáte mnoho řádků ze stejného klienta současně, použijte příkazy INSERT s více seznamy VALUES k vložení několika řádků najednou. To je podstatně rychlejší (v některých případech mnohonásobně rychlejší) než použití samostatných jednořádkových příkazů INSERT.



  1. Jak mohu vložit 10 milionů záznamů v co nejkratším čase?

  2. Nainstalujte Mtop (Monitorování databázového serveru MySQL) v RHEL/CentOS 6/5/4, Fedora 17-12

  3. Jaký je typ čekání ASYNC NETWORK IO?

  4. SQL Server, zavádějící XLOCK a optimalizace