Hallo!
Ansonst: full ack.
OK. Über 1000 ist wirklich nur da um nach längerer Zeit(Urlaub...) noch eine Synchronsiation durchführen zu können, es soll halt funktionieren und dabei nicht an Limits des gehosteten Servers stoßen, denn hier sind CPU-Zeit, RAM und Laufzeit beschränkt.
Im Alltagsgebrauch soll die Synchronisation durchaus automatisiert gebraucht werden, nur wird es sich hier meist um deutlich unter 100 Datensätze handeln, halt je öfter desto weniger.
Da ich evtl. vor/nach bestimmten Schreibvorgängen automatisch synchronisieren will, sollte das dann aber keine 40 Sekunden dauern!
Die zu übertragenden Daten habe ich so gut wie möglich eingegrenzt.
Warum ich über die 2. Möglichkeit(multipart/form-data) nachdenke, ist da ich die Daten hier als Binästring übertragen kann, z.B. gzip, was über 80% Einsparung bedeuten würde. Mit der ersten Variante ist das leider nicht ohne weiteres möglich. Und wenn das Übertragungsvolumen schon doppelt oder drei mal so groß ist, ist das eine ziemliche Zeitverschwendung, vor allem wenn der eine Server nur über DSL oder ISDN angebunden ist.
Also meint Ihr man kann das Anfangs gepostete Script nicht mehr beschleunigen? Ich will ja nichts großartiges machen, aber meist gibt es ja recht einfache Wege dieses performanter zu gestaltetn, auf die ich halt nicht komme. Vor allem erst ein split, dann ein foreach über den geschaffenen Array, und dann halt lauter Reguläre Ausdrücke... aber vielleicht ist es so auch schon das beste, vielleicht hätte ja jemand eine Idee gehabt.
Nur was noch dazu kommt, die aufgerufene Import-Funktion muß ja auch jedesmal erst mit einem SELECT ermitteln ob der Datensatz vorhanden ist und dann wieder in einer foreach-Schleife aus dem Daten-Array ein UPDATE oder ein INSERT machen und ausführen, da wird das ganze schon erheblich langsamer!
Viele Grüße
Andreas