Mysql
 sql >> база данни >  >> RDS >> Mysql

Кое е по-бързо:няколко единични INSERT или един многоредов INSERT?

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

Времето, необходимо за вмъкване на ред, се определя от следните фактори, където числата показват приблизителни пропорции:

  • Свързване:(3)
  • Изпращане на заявка до сървъра:(2)
  • Заявка за синтактичен анализ:(2)
  • Вмъкване на ред:(1 × размер на реда)
  • Вмъкване на индекси:(1 × брой индекси)
  • Затваряне:(1)

От това трябва да е очевидно, че изпращането на едно голямо изявление ще ви спести режийни разходи от 7 на оператор за вмъкване, което при по-нататъшно четене на текста също казва:

Ако вмъквате много редове от един и същ клиент по едно и също време, използвайте оператори INSERT с множество списъци VALUES, за да вмъкнете няколко реда наведнъж. Това е значително по-бързо (много пъти по-бързо в някои случаи) от използването на отделни едноредови оператори INSERT.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysqli_stmt::bind_param():Броят на елементите в низа за дефиниране на типа не съвпада с броя на променливите за свързване

  2. convert_tz връща нула

  3. Изберете TOP X (или долния) процент за числови стойности в MySQL

  4. Как да настроите асинхронна репликация от Galera Cluster към самостоятелен MySQL сървър с GTID

  5. Как да активирам MySQL Query Log?