Mailinglisten-Archive |
Am 11-06-07 10:16, schrieb Stephan Krauß: > Momentan beschäftige ich mich mit dem einlesen von großen > Datenmengen. Ich bekomme alle 20 Minuten ein XML - File. > Dieses XML - File muss entsprechend aufbereitet werden und > in eine Tabelle in einer MySQL - Datenbank gelesen werden. Meine Lösung (läuft seit ein paar Jahren): Zuerst per XSLT aus dem XML ein CSV machen. Der XSLT-Prozessor ist meiner Beobachtung nach erheblich schneller als die händische Verarbeitung von XML in PHP. Wenn aus dem XML verschiedene Tabellen zu bedienen sind schaden auch mehrere XSL-Skripte nichts. In meinem Fall mussten einerseits Kopfdaten extrahiert werden, zum anderen lange Datenreihen. Das, bzw. die CSV-Daten habe ich dann zeilenweise in PHP verarbeitet, weil Oracle kein CSV einlesen kann. Für MySQL gäbe es diese Möglichkeit ja ("LOAD DATA INFILE"). Wenn Du zeilenweise in PHP arbeiten musst (Plausicheck der Daten?), würde ich diese Multi-Insert-Zeilen bilden, die Robert Hartung beschrieben hat. set_time_limit() wird Dir aber kaum erspart bleiben. Kai -- == Kai M. Becker == kmb at kai-m-becker.de == Bremen, Germany == "Any technology distinguishable from magic is insufficiently advanced"
php::bar PHP Wiki - Listenarchive