Update mit Include-Datei

Update mit Include-Datei

am 21.04.2008 22:16:37 von Daniel Schmidt

Hallo NG,

ich bin gezwungen für ein Datenbankupdate MySQL eine Datei für jede
Zeilen zu includieren, um diese individuell anzupassen. Nun bricht das
Script bei 40TSD Datensätzen verständlicherweise ab. Die Lösung ist auch
nicht gerade performant, dessen bin ich mir bewußt.

Nun ist die Frage wie ich hier Abhilfe schaffen kann. Die Includedatei
als Funktion zu deklarieren dürfte meiner Ansicht nach Ähnliches
bewirken. Was könnte man hier noch anwenden?


Grüße Daniel

Re: Update mit Include-Datei

am 22.04.2008 00:18:56 von Christoph Herrmann

Daniel Schmidt schrieb:
> Hallo NG,

Hi,

> ich bin gezwungen für ein Datenbankupdate MySQL eine Datei für jede
> Zeilen zu includieren, um diese individuell anzupassen. Nun bricht das
> Script bei 40TSD Datensätzen verständlicherweise ab. Die Lösung ist auch
> nicht gerade performant, dessen bin ich mir bewußt.

Du includest 40.000 Dateien? Wie wäre es die Daten in einem allgemeinen
Format zu machen (.csv oder ähnliches) und daraus zu importieren?

Dann könnten diese ohne Probleme mit einem Programm wie Excel oder
OpenOffice Calc bearbeitet werden.

> Nun ist die Frage wie ich hier Abhilfe schaffen kann. Die Includedatei
> als Funktion zu deklarieren dürfte meiner Ansicht nach Ähnliches
> bewirken. Was könnte man hier noch anwenden?

Eine Includedatei als Funktion deklarieren? Was das? :)

Die Frage ist eher was ist dein Ziel das du hier erreichen willst.

--
Mit freundlichen Grüßen,
Christoph Herrmann

http://dragonprojects.de/

Re: Update mit Include-Datei

am 22.04.2008 09:00:45 von Daniel Schmidt

> Du includest 40.000 Dateien? Wie wäre es die Daten in einem allgemeinen
> Format zu machen (.csv oder ähnliches) und daraus zu importieren?

kommt nicht in Frage, nur MySQL auf dem Server.

> Die Frage ist eher was ist dein Ziel das du hier erreichen willst.

das das Script problemlos durchläuft natürlich :o)

Grüße Daniel

Re: Update mit Include-Datei

am 22.04.2008 09:12:04 von Christoph Herrmann

Daniel Schmidt schrieb:
> kommt nicht in Frage, nur MySQL auf dem Server.

Kein PHP auf dem Server? wie kommen die Daten denn da hin? Die sind ja
derzeit in einzelne .php Dateien oder?

Kannst ja vom Client ein File Upload anbieten oder ein Webinterface um
die Daten zu bearbeiten.

Wo liegt das Problem, warum eine .csv Datei nicht möglich wäre?

> das das Script problemlos durchläuft natürlich :o)

Sehe ich kein Problem darin, wenn man eine geeignete Datenquelle nimmt.

--
Mit freundlichen Grüßen,
Christoph Herrmann

http://dragonprojects.de/

Re: Update mit Include-Datei

am 22.04.2008 09:35:18 von Gregor Kofler

Daniel Schmidt meinte:
>> Du includest 40.000 Dateien? Wie wäre es die Daten in einem
>> allgemeinen Format zu machen (.csv oder ähnliches) und daraus zu
>> importieren?
>
> kommt nicht in Frage, nur MySQL auf dem Server.

Äh wie? Äh was? Was hat es denn mit den PHP-Dateien (und der Frage in
dieser NG) auf sich?

>> Die Frage ist eher was ist dein Ziel das du hier erreichen willst.
>
> das das Script problemlos durchläuft natürlich :o)

Man kann CSV-Dateien "direkt" importieren.

FAQ 17.3. Wie kann ich eine CSV-Datei in MySQL importieren?
http://www.php-faq.de/q/q-mysql-csv-import.html

Gregor



--
http://photo.gregorkofler.at ::: Landschafts- und Reisefotografie
http://web.gregorkofler.com ::: meine JS-Spielwiese
http://www.image2d.com ::: Bildagentur für den alpinen Raum

Re: Update mit Include-Datei

am 22.04.2008 12:28:05 von Daniel Schmidt

>> kommt nicht in Frage, nur MySQL auf dem Server.
> Äh wie? Äh was? Was hat es denn mit den PHP-Dateien (und der Frage in
> dieser NG) auf sich?

ja PHP ist natürlich auch drauf - sorry

> Man kann CSV-Dateien "direkt" importieren.

dessen bin ich mir bewusst, nur liegt das PHP-SCRIPT, welches die
Änderungen vollzieht auf dem Server, das soll auch so bleiben.

Daniel

Re: Update mit Include-Datei

am 22.04.2008 13:45:08 von Alexander Fleischer

Hallo,

solange der Kram grundsätzlich läuft und nicht performant sein muss
kannst du mit set_time_limit(0) bzw. in der php.ini max_execution_time
das Zeitlimit für das Script abschalten, sofern du Zugriff auf die PHP
Einstellungen hast. Je nach Script ggfs. auch gleich noch memory_limit
anpassen.

Kommst du da nicht ran, musst du wohl das Update in Blöcke aufteilen und
dir merken, wie weit du schon bist, und pro Request nur einen Block
bearbeiten und dann per Browserweiterleitung oder JavaScript die URL für
den nächsten Block aufrufen.

Um zu schreiben, wie man das effektiver machen könnte, ist deine
Beschreibung etwas kurz, d.h. da müsstest du schon noch einmal
schreiben, was du da eigentlich machst...

Alex

Re: Update mit Include-Datei

am 23.04.2008 08:24:20 von Frank Arthur

Daniel Schmidt schrieb:
> ich bin gezwungen für ein Datenbankupdate MySQL eine Datei für jede
> Zeilen zu includieren, um diese individuell anzupassen. Nun bricht das
> Script bei 40TSD Datensätzen verständlicherweise ab. Die Lösung ist auch
> nicht gerade performant, dessen bin ich mir bewußt.

Zu wenig Informationen um dir wirklich weiter helfen zu können.

Was steht in den Dateien und wie überträgst du den Inhalt der Dateien an
MySQL?

Wenn du diesen Vorgang nur einmal ausführen musst, dann kannst du die
Dateien vorher in eine gemeisame Datei zusammenkopieren, so dass es nur
noch eine Datei gibt, die alle Zeilen enthällt und diese dann an MySQL
schicken.