von subjective |
MySQL kann mit einer Query mehrere Datensätze einfügen.
1:
2:
3: | INSERT INTO table (feld1, feld2, feld3)
VALUES ('val1_1', 'val1_2', 'val1_3'),
('val2_1', 'val2_2', 'val2_3') |
Dies ist um einiges schneller, als sie mit einzelnen Queries einzufügen. Man muss allerdings unter Umständen aufpassen, ob man die Maximalgröße für Queries erreicht (1 oder 2 MB).
Es ist sogar möglich INSERT mit SELECT zu kombinieren.
1:
2: | INSERT INTO table (feld1, feld2, feld3)
SELECT feld1, feld2, feld3 FROM table2 |
Damit lassen sich sehr effektiv Aggregationsergebnisse speichern. |
von nisita |
> Wenn du einen Shell-Account auf den Server hast
wäre mir bei i-net4you.de neu :(
den 2.teil hab ich wohl nicht 100% verstanden... denn das ist ja eigentlich das problem, wenn ich jede zeile einzeln eintragen lassen würde, dauert es ja so ewig... und das obwohl es halt per load data infile weniger als ein hundertstel davon brauchen würde...
mfg
nisita
PS:danke im übrigen an alle antworten..  |
von subjective |
Wenn du einen Shell-Account auf den Server hast, solltest du den mysql-cmdline-client nutzen. Dieser ist um einiges schneller als phpMyAdmin und Co.
Ansonsten schreib doch ein kleines PHP-Script (lokal), welches dir SQL-Dumps mit Multi-Inserts baut und eines das diese SQL-Dateien nacheinander in die DB einfügt.
|
von nisita |
naja, lokal ist das ja alles kein problem.. und per hand würde es ja auch funktionieren.. nur es soll ja automatisch gehen, da es jeden tag aktualisiert wird.. und das per hand ist mir zu aufwendig... werde wohl die ganze sache aufteilen, und über ein paar stunden zeitversetzt laufenlassen... aber irgendwie hab ich mir das besser vorgestellt.. :(
nisita |
von languitar |
Es gibt auch MySQL-Manager, die Daten lokal verarbeiten können und diese dann sehr komfortabel auf den Server spielen können. |
|