sql >> Database >  >> RDS >> Mysql

Prestaties Meerdere inserts of meerdere waarden enkele insert

Ja, in het algemeen is het invoegen in bulk sneller dan één invoegsel tegelijk, omdat het tussentijdse communicatie vermijdt die voor elke invoegopdracht plaatsvond.

Maar soms leidt het tot problemen omdat insert/update-statements exclusieve vergrendelingen op tabellen/rijen verkrijgen, wat betekent dat geen enkel ander proces/verbinding de tabel op dat moment kan gebruiken.

Als u meerdere processen tegelijkertijd met DB gebruikt, waarvan sommige lezen uit de tabel en sommige schrijven, worden hele bewerkingen vergrendeld/gestopt op het moment dat u bulk invoegt

dus bulkinvoeging zal de tabel langer vergrendelen dan een enkele invoeging, wat problemen kan veroorzaken voor andere processen als de vergrendelingstijd langer is en DB er niet op is afgestemd.

Als u alleen invoegt in de DB zonder enige andere bewerking, ga dan voor bulk invoegen vanuit een bestand (wat veel sneller is) en als u andere processen heeft, pas dan de bulk-invoegfrequentie aan, rekening houdend met vergrendeling.

Mogelijk duplicaat is van update-statements Is bulkupdate sneller dan een enkele update in db2?



  1. Hoe kan ik een SELECT DISTINCT uitvoeren op alle velden behalve een BLOB?

  2. Gehumaniseerde of natuurlijke nummersortering van gemengde woord-en-nummerreeksen

  3. Bestandsopslag voor webtoepassingen:bestandssysteem versus DB versus NoSQL-engines

  4. Wat is het equivalent van varchar(max) in Oracle?