mysql beschlenigen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
datei
datensatz
ergebnis
erstere
funktionsweise
gedacht
handbuch
imme
insert
limit
mache
manual
mglichkeit
praktikum
schaffe
schleifen
sekunde
set
zurck
zwischenstand
-
Ich muss ca 30 000 Datensätze in eine mysql tabelle schreiben. Das funktioniert leider nicht, da ich nur 10 000 schaffe bevor der server abbricht. das ganze mit einer foreach schleife gelöst, in jedem foreach konstruiere und sende ich genau 1 query. hab mir gedacht dass es wahrscheilich schneller wäre wenn ich zuerst alle querys konstruieren würde und danach mit nur einem mysql_query senden würde. gibts irgendwie diese möglichkeit?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
LOL! Boah, du hast meinen Abend erheitert. :D
Habe heute noch beim Praktikum in dem MySQL Buch geblättert was dort rumfliegt und kann mich noch daran erinnern, dass man mehrer Datensätze pro Insert einfügen kann.
Ok, das hätte ich jetzt auch gewusst, wenn ich das Buch nicht gelesen hätte, aber ich wollte nur betonen wie öde es dort ist. ;D
Also:
1. Googlen
2. Handbuch wälzen
3. Brauchst du gar nicht mehr auszuführen, da ersteres schon zu einem Ergebnis führt...
=> http://dev.mysql.com/doc/refman/5.0/fr/insert.html
INSERT INTO `big_fat_table` (`big_fat_rows`) VALUES ('bla'), ('blub'), ('quak')
-
Dann kannst du mir sicherlich auch helfen und ich brauch keinen neuen Thread eröffnen :)
Ich will ne 134 MB große .sql Datei importieren, aber mit php schlägt das immer fehl, obwohl ich eigentlich in der php.ini das memory_limit auf 256 MB gestellt hab...
Kannst du mir irgendwie behilflich sein? Es wär schön wenn ich das noch heute importiern kann...
-AlienDwarf -
ja so ists mir ja auch klar... nein ich will mehere datensätze auf einaml einfügen, ich bin doch keine wurst
-
versucht es mal hier mit:
set_time_limit(x);
http://www.php.net/manual/de/function.set-time-limit.php
bei x tragt ihr in sekunden die maximale ausführunszeit ein.
weil bei 30000 datensätzen da arbeitet der server und gibt irgendwann false zurück skript konnte nicht ausgeführt werden wegen zeitüberschreitung.
selbst hab ichs noch nicht ausprobiert aber müsste gehen.
mfg
-
ja so ists mir ja auch klar... nein ich will mehere datensätze auf einaml einfügen, ich bin doch keine wurst
Das tust du doch mit der Funktionsweise die Lucas die aufgezeigt hat. -
jop mach ich aber das immer noch zu langsam ist mache ich jetzt imme 1000 datensätze in einer schleife und speichere den zwischenstand dann wieder. funzt super :)
Beitrag geändert: 12.7.2007 19:20:56 von infanteria -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage