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

Rust:Jak spustíme DML na MySQL se spoustou parametrů?

Nejsem programátor Rust, ale úvahy o výkonu by měly být podobné bez ohledu na jazyk aplikace.

Pro tento případ bych jen připravil dotaz na INSERT jednoho řádku s parametry pro sloupce toho jednoho řádku. Poté spusťte smyčku pro provedení připraveného dotazu s různými hodnotami parametrů. Toto vyřadí ze smyčky režii analýzy SQL, protože to se provádí pouze jednou v kroku přípravy. Provedením připraveného dotazu se příkaz znovu neanalyzuje.

Doufám, že to je přesně to, co exec_batch() dělá. Ale může to být znovu připravovat příkaz INSERT pokaždé ve smyčce. To by byl naivní přístup, ale nevím, jestli je balíček Rust naivní nebo ne.

Pokud to není dostatečně výkonné, měli byste zvážit načítání hromadného množství dat pomocí NAČTENÍ DAT [LOCAL] INFILE . To je obvykle několikrát rychlejší než jakýkoli příkaz INSERT i se sadou 1000 n-tic.

Moje prezentace by se vám mohla líbit Rychlé načítání dat! ve kterém jsem porovnával relativní výkon různých řešení importu dat.



  1. ABS() Příklady v SQL Server

  2. Jak vrátit výsledky dotazu jako seznam oddělený čárkami na serveru SQL – STRING_AGG()

  3. Proč to vrací ID zdroje #2?

  4. Jaký je nejlepší způsob, jak zkrátit datum na serveru SQL Server?