mass insert - prepared vs batch vs single
Hallo Forum,
ich würde gern eure Meinung zu diesem Thema hören, ich habe heute ein paar tests gemacht wie ich am schnellsten viele daten in die (MySQL ISAM) DB schreiben kann. Dazu habe ich mit dem PDO 3 varianten ausprobiert. Prepared Statment: Hier wird an Array an Daten übergeben, einmal prepared und dann alles in einer schleife gegen die datenbank gefeuert PHP-Code:
Hier übergebe ich an Array aus datan baue ein großes statement zusammen und feuer einmal gegen die Datenbank PHP-Code:
Hier werden die Daten direkt übergeben und gespeichert PHP-Code:
Die Ergebnisse sehen wie folgt aus: Code:
prepared batch single Leider bleibt beim Stapelinsert das lästige quoten von inhalten. Am meisten verwundert hat mich der geringe unterschied zwischen 100 und 1000 blöcken. Ein Vorteil des prepared Statements das man auf Informationen jedes einzelnen Statements zugreifen kann und nicht über eine große SQL debugen muss. Wie handhabt ihr das? Habt ihr ähnliches erfahrungen und oder Tipps? Freu mich auf eure Antworten. |
AW: mass insert - prepared vs batch vs single
die ergebnisse sind nicht überraschend und entsprechen dem, was man als belesener entwickler erwarten würde. dennoch ist es schön, wieder und wieder gepredigte DOs + DONTs mit ein paar zahlen untermauert zu sehen .-)
dem entsprechend sollte man sql-statements zusammenklöppeln, bevor sie an die db geschickt werden: PHP-Code:
a) mit temporären tabellen: artikel b) mit case-anweisung: artikel cx |
AW: mass insert - prepared vs batch vs single
Hallo cortex,
danke für deine Antwort und das du als belesener Entwickler die Artikel mit mir (uns) geteilt hast. (- : |
AW: mass insert - prepared vs batch vs single
aber gern doch. weitere interessante artikel gibt's auch hier immer wieder mal: MySQL Performance Blog.
cx |
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:31:35 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.