Der Geschwindigkeitsvergleich von einzeiligen INSERTs und mehrzeiligen INSERTs
Beim Streben nach einer Optimierung der Datenbankeinfügung stellt sich eine entscheidende Frage: ob Sie mehrere einzeilige INSERT-Anweisungen verwenden oder sich für ein einzelnes mehrzeiliges INSERT entscheiden. Um den optimalen Ansatz zu ermitteln, vertiefen wir uns in die Leistungsanalyse und betrachten die relevante MySQL-Dokumentation.
Leistungsanalyse
Laut MySQL-Dokumentation (https://dev. mysql.com/doc/refman/8.0/en/insert-optimization.html) wird die zum Einfügen einer Zeile benötigte Zeit hauptsächlich durch die folgenden Faktoren beeinflusst, deren ungefähre Anteile angegeben sind in Klammern:
Mehrzeiliges INSERT vs. Einzeiliges INSERT
Durch die Analyse dieser Faktoren wird es Es wird deutlich, dass die Verwendung einer einzigen großen mehrzeiligen INSERT-Anweisung den Overhead im Vergleich zur Verwendung mehrerer einzeiliger INSERTs erheblich reduzieren kann. Für jedes einzeilige INSERT entsteht ein Overhead von 7 (Summe der Schritte 1-3, 6).
Daher empfiehlt die MySQL-Dokumentation ausdrücklich die Verwendung von INSERT-Anweisungen mit mehreren VALUES-Listen zum gleichzeitigen Einfügen mehrerer Zeilen , insbesondere in Fällen, in denen mehrere Zeilen gleichzeitig vom selben Client eingefügt werden. Dieser Ansatz ist „erheblich schneller“ und kann erhebliche Leistungsvorteile bieten.
Das obige ist der detaillierte Inhalt vonEinzeilige vs. mehrzeilige INSERTs in MySQL: Was ist schneller?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!