sql >> Database teknologi >  >> RDS >> Mysql

Rust:Hvordan kører vi en DML på MySQL med mange parametre?

Jeg er ikke en Rust-programmør, men præstationsovervejelserne bør være ens uanset applikationssprog.

I dette tilfælde ville jeg bare forberede en forespørgsel for at INDSÆTTE en række med parametre for kolonnerne i den ene række. Kør derefter en løkke for at udføre den forberedte forespørgsel med forskellige værdier for parametrene. Dette inddrager overheaden ved at parse SQL'en, fordi det kun gøres én gang på forberedelsestrinnet. Udførelse af den forberedte forespørgsel genparser ikke sætningen.

Jeg håber, det er præcis, hvad exec_batch() gør. Men det kan være at genforberede INSERT-sætningen hver gang i løkken. Det ville være en naiv tilgang, men jeg ved ikke, om Rust-pakken er naiv eller ej.

Hvis dette ikke er effektivt nok, bør du overveje at indlæse bulkmængder af data ved hjælp af INDLÆS DATA [LOCAL] INFIL . Det er typisk flere gange hurtigere end nogen INSERT-sætning, selv med et sæt på 1000 tupler.

Du kan måske lide min præsentation Indlæs data hurtigt! hvor jeg sammenlignede den relative ydeevne af forskellige dataimportløsninger.



  1. Aktiver ODP.Net-logning

  2. PolyScale.ai – Skalering af MySQL &PostgreSQL med Global Caching

  3. SQL-fejl:Forkert syntaks nær søgeordet 'Bruger'

  4. Sådan formateres tal med kommaer i SQL Server