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

Ydelse Flere indstik eller flere værdier enkelt indstik

Ja, generelt er masseindsættelse hurtigere end enkelt indsættelse ad gangen, da det undgår mellemliggende kommunikation, som fandt sted for hver indsætningserklæring.

Men nogle gange fører det til problemer, da insert/update-sætninger får eksklusive låse på tabeller/rækker, hvilket betyder, at ingen anden proces/forbindelse kan bruge tabellen på det tidspunkt.

Hvis du har flere processer, der bruger DB på samme tid, hvoraf nogle læser fra tabel og nogle skriver, vil hele operationer blive låst/stoppet på tidspunktet for din masseindsættelse

så bulkinsertion vil låse tabellen i længere tid end enkelt insert, hvilket kan forårsage problemer for andre processer, hvis låsetiden er længere, og DB ikke er indstillet til det.

Hvis du bare indsætter i DB'en uden anden handling, så gå efter bulk-indsættelse fra en fil (hvilket er meget hurtigere), og hvis du har andre processer på plads, juster bulk-indsættelsesfrekvensen i betragtning af låsning.

Mulig duplikat er af opdateringserklæringer Is masseopdatering hurtigere end enkelt opdatering i db2?



  1. $db =new PDO(mysql:host=$host;db_name=$db_name, $user, $pass);

  2. Sådan dropper du flere tabeller i PostgreSQL ved hjælp af et jokertegn

  3. Hvordan kan jeg bruge MySQL-database fra to forskellige servere i PHP?

  4. Forespørgsel for at få alle poster indtil summen af ​​kolonne mindre end eller lig med en værdi