phpbar.de logo

Mailinglisten-Archive

[php] PHP und mySQL langsam?

[php] PHP und mySQL langsam?

Thomas Winter thowinter at googlemail.com
Mon Jul 17 11:42:37 CEST 2006


Am Monday 17 July 2006 11:29 schrieb Sascha Grossenbacher:
> Hallo
>
> Das Problem der Geschwindigkeit ist vermutlich der Speicherverbrauch.
> Ich würde versuchen, das ganze mehr aufzuteilen.
>
> Wie bisher die Datei mit fopen öffnen und dann Zeile für Zeile mit fgets
> und gleich verarbeiten: also ein explode auf ',', prüfen ob der
> Datensatz schon in der Datenbank vorhanden ist und wenn nicht, speichern.
> Um noch weiter Geschwindigkeit zu gewinnen, könnte man noch die Query's
> zusammenfassen und zum Beispiel 1000 Datensätze gleichzeitig eintragen
> mit INSERT INTO table(feld1, feld2, ...) VALUES (wert1, wert2, ...),
> (wert1, wert2, ..) ...
>
> Der Vorteil dieser Lösung ist, das PHP niemals mit einem
> mehrdimensionalen Array mit 50'000 Elementen arbeiten muss, sondern
> immer nur mit einer Zeile.
>
> Gruss Sascha

Hi,
so sieht es zur Zeit aus:


		while (!feof($dz)) {
    			$buffer = fgets($dz, 4048);
			$zeile = explode('\n',$buffer);
			foreach ($zeile as $key => $value) {
				$dfeld = explode(',',$value);
# SQL Abfrage auf doppelte Datensaetze
# wenn nicht doppelt dann speichern
                         }
                 }

Es ist ab dem ersten Datensatz langsam und es ist schon langsam auch wenn ich 
nicht speichere.

Ein so großes Array sollte sich doch dabei gar nicht aufbauen.






php::bar PHP Wiki   -   Listenarchive