Mailinglisten-Archive |
> momentan stehe ich vor der aufgabe, taeglich via cronjob 50.000
> datensaetze aus einer xml-datei zu generieren und in 7 sql-tabellen
> zu importieren.
> Nun gibt es zwei ansaetze, um die sql-queries auszufuehren:
> - Innerhalb der schleife, die die 50.000 datensaetze einliest, pro
> record ein mysql_query() absetzen oder
> - zunaechst die 50.000 queries in eine datei schreiben und die
> queries dann per exec("mysql < datei.sql") ausfuehren.
> Zum zweiten ansatz gibt es noch die moeglichkeit, innerhalb der
> schleife ein fwrite() abzusetzen oder alternativ die 50.000 queries in
> ein array zu packen und am ende der schleife alles per fwrite() zu
> schreiben.
> Was zufaellig jemand, welche der varianten ressourcen-schonender
> (billiger, schneller) ist?
Ich würde die zweite Variante mit sofortigem fwrite vorschlagen. Die
Vorteile sind:
- weniger Speicherverbrauch durch direktes schreiben
- höhere Geschwindigkeit des Kommandozeilentools
Nachteil:
- zusätzliche fragmentierung der Festplatte durch fwrite
--
mit freundlichen Grüßen
Nils Meyer
php::bar PHP Wiki - Listenarchive