Ich habe 1 viele Datensätze, die in eine Tabelle eingegeben werden müssen. Was ist der beste Weg, dies in einer Abfrage zu tun? Sollte ich nur eine Schleife erstellen und einen Datensatz pro Iteration einfügen? Oder gibt es einen besseren Weg?
148
INSERT
unterstützt dies nativ !Antworten:
Aus dem MySQL-Handbuch
quelle
max_allowed_packet
Meistens arbeiten Sie nicht in einem MySQL-Client und sollten Batch-Einfügungen mithilfe der entsprechenden API zusammenfügen.
ZB in JDBC:
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/tjvbtupd.htm
quelle
Weitere Informationen finden Sie in der MySQL-Dokumentation zur INSERT-Anweisung
quelle
insert into select from
Leistung? ist es so schnell wie Bulk Insert?Das Laden von Daten-Infile-Abfragen ist eine viel bessere Option, aber einige Server wie Godaddy beschränken diese Option auf Shared Hosting, sodass nur noch zwei Optionen übrig sind. Eine ist das Einfügen eines Datensatzes bei jeder Iteration oder Batch-Einfügung. Die Batch-Einfügung hat jedoch eine Beschränkung der Zeichen, wenn Ihre Abfrage diese überschreitet Anzahl der in MySQL festgelegten Zeichen, dann stürzt Ihre Abfrage ab. Ich schlage daher vor, Daten in Blöcken mit Batch-Einfügung einzufügen. Dadurch wird die Anzahl der mit database.best of glücklicher Jungs hergestellten Verbindungen minimiert
quelle
LOAD DATA LOCAL INFILE '/users/name/txt.file'
Mit MySQL können Sie mehrere Zeilen gleichzeitig einfügen. INSERT-Handbuch
quelle