Mailinglisten-Archive |
Thomas Gigold schrieb: > Ich habe folgendes Problem und suche nach einer guten Lösung: > Ich habe ein Script, das aus einer Tabelle A knapp 1500 Einträge liest > (werden stetig mehr). Innerhalb der while-Schleife wird eine Datei > gelesen, diese mit einem in Tabelle B vorhandenen Eintrag gegengeprüft. > Gibt es eine Änderung wird der Inhalt der Datei in die Tabelle B > geschrieben. welche Rolle spielt dabei Tabelle A ? geht die While-Schleife über die Einträge der Tabelle A oder B ? > Jetzt meine Frage: > Wie schaffe ich es am geschicktesten, dass es nicht in einem Time-Out > landet? Ich dachte ich lasse 50 Datensätze durchlaufen, geb dann die ID > des letzten bearbeiteten Datensatzes per header-Weiterleitung an das > gleiche Script wieder weiter und fang dann bei meiner DB-Abfrage mit > einer id > $_GET['id'] an. > Dachte eigentlich das sei eine gute Idee; leider bringt es auch nicht > viel, da ich nach einer Weile wieder im Time-Out lande. du könntest die UPDATE-Abfragen für die Tabelle B 'sammeln' und wenn du 50 oder so zusammen hast diese auf einmal abschicken $upates = array(); while () { ... $upates[] = 'UPDATE ...' if ( count($updates) > 50 ) { mysql_query(implode('; ', $updates)); } } mit dem genauen Code der While-Schleife könnte man vielleicht noch mehr helfen -- Sebastian Mendel (www.sebastianmendel.de) *www.warzonez.de* | www.tekkno4u.de | www.nofetish.com
php::bar PHP Wiki - Listenarchive