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. |
von michaelh |
Ich habe einfach XAMPP installiert und die Daten in eine lokale MySQL Datenbank eingefügt. Diese habe ich anschließend als sql exportiert und bei meinem Provider aufgespielt.
oder (habe ich noch nicht getestet)
http://www.mysqlfront.de/ |
von nisita |
hallo..
dadurch dass ja "LOAD DATA INFILE " nicht möglich ist (da man keine grant-Privilege hat) suche ich nach einer alternative.. das problem ist, ich habe eine "sehr große" csv datei, und wenn ich jede zeile per insert einfügen würde, würde das den server ~>2minuten belasten... mit "LOAD DATA INFILE brauchte man nichtmal eine sekunde... weiß gerade leider nicht weiter.. :(
mfg
elma
---
"Wir sollten lernen, uns allmählich vom Überfluss zu befreien, um zur Einfachheit unseres eigenen Wesens vorzudringen." Jean Gastaldi |
|