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

Rust:Как да стартираме DML на MySQL с много параметри?

Не съм програмист на Rust, но съображенията за производителност трябва да са подобни, независимо от езика на приложението.

За този случай просто бих подготвил заявка за INSERT един ред с параметри за колоните на този ред. След това изпълнете цикъл, за да изпълните подготвената заявка с различни стойности за параметрите. Това изключва от цикъла режийните разходи за анализиране на SQL, тъй като това се прави само веднъж на етапа на подготовка. Изпълнението на тази подготвена заявка не анализира повторно израза.

Надявам се, че това е точно това, което exec_batch() прави. Но може да подготвя отново оператора INSERT всеки път в цикъла. Това би бил наивен подход, но не знам дали пакетът Rust е наивен или не.

Ако това не е достатъчно ефективно, трябва да помислите за зареждане на големи количества данни чрез ЗАРЕДЕТЕ ДАННИ [ЛОКАЛЕН] INFILE . Това обикновено е няколко пъти по-бързо от който и да е оператор INSERT дори с набор от 1000 кортежа.

Може да харесате моята презентация Бързо зареждане на данни! в който сравних относителната производителност на различни решения за импортиране на данни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да:Класиране на резултатите от търсенето

  2. Как да направите пълнотекстово търсене на mysql с множество колони, където се съвпадат частични думи

  3. SQL изтриване на редове въз основа на друга таблица

  4. Как да получите следващия буквено-цифров идентификатор въз основа на съществуваща стойност от MySQL

  5. пренасочва 404 към подобни URL адреси