Sehr große Arrays

MySQL, PostgreSQL, SQLite
ecki
Posts: 25
Joined: 2003-07-14 17:47
Location: Erde

Sehr große Arrays

Post by ecki » 2003-07-25 12:48

Hallo,

habe folgendes Problem:
Innerhalb meiner Web-Anwendung sollen als Ergebnis Statusberichte als PDF-Datei ausgegeben werden. Die Programmierung erfolgt in PHP in Verbindung mit MySQL.
Um die entsprechenden Daten für die Ausgabe zu holen werden ziemlich große Arrays (mehrere tausend Zeilen) benötigt, die jeweils (pro Zeile) einen SQL-Zugriff machen.
Bis zu einer gewissen Größe (Datenmenge) funktioniert das auch sehr gut.
Ab einer bestimmten Datenmenge, bzw. SQL-Zugriffen, steigt der Server offensichtlich aus. Die Ausgabe der Berichte erfolgt erst nach der kompletten Bearbeitung der SQL's.
Meine Frage: Liegt es an einem vollen Cache, das die Daten irgendwann nicht mehr kommen? Wenn ja, wo (kann) muß ich den Cache leeren?
Die Script-Ausführungszeit habe ich schon auf 300 sec gesetzt.
Die Ausgabe von z.B. einem 60 Seiten langen Bericht funktioniert so.
Der Bericht, der nicht funktioniert wird etwa 180 Seiten umfassen.

Weiß da jemand was? :?:
Danke.
Gruß, Ecki

alexander newald
Posts: 1117
Joined: 2002-09-27 00:54
Location: Hannover

Re: Sehr große Arrays

Post by alexander newald » 2003-07-25 13:38

Eine Programmiersprache und keine Skriptsprache verwenden?!

daniel seuffert
Posts: 4
Joined: 2003-06-20 14:48
Location: CH 9435 Heerbrugg

Re: Sehr große Arrays

Post by daniel seuffert » 2003-07-25 13:57

Rein prinzipiell gesehen dürfte ein array mit mehreren tausend Zeilen kein Problem in MySQL, soweit mir bekannt. Ob ein flushen des caches etwas bringt, wage ich sehr zu bezweifeln. Die empirische Sicht sagt mir, daß man in die Cache-Verwaltung nicht eingreifen sollte (bei allen DBMS), da dies mehr Probleme als Vorteile bringt. Aus meiner Erfahrung heraus würde ich sehr stark vermuten, daß dein System nicht über genügend RAM verfügt. Allerdings haben wir viel zu wenig Detailinformationen, um dies aus der Ferne beurteilen zu können. Ich vermute, daß dir die logs relativ wenig bis gar keine Informationen geben, da Du sie anderfalls hier gepostet hättest.

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Sehr große Arrays

Post by oxygen » 2003-07-25 14:48

Ecki wrote:Hallo,

Um die entsprechenden Daten für die Ausgabe zu holen werden ziemlich große Arrays (mehrere tausend Zeilen) benötigt, die jeweils (pro Zeile) einen SQL-Zugriff machen.
Vielleicht solltest du da etwas optimieren... mehrere Tausend Querys klingt nicht wirklich gut. Die lassen sich sicher zusammenfassen, vielleicht nicht in einen, aber sicher in ein paar Dutzend...

arty
Userprojekt
Userprojekt
Posts: 729
Joined: 2002-06-12 10:11

Re: Sehr große Arrays

Post by arty » 2003-07-25 18:03

Hi,

ich tippe mal, deine Planung und der Entwurf der Software fand nicht wirklich statt. Wenn man mehrere tausend Queries benötigt, dann hat man enorme Design-Probleme in seiner Software.

bye
arty

ecki
Posts: 25
Joined: 2003-07-14 17:47
Location: Erde

Re: Sehr große Arrays

Post by ecki » 2003-07-25 19:19

@arty

Was heißt hier:

ich tippe mal, deine Planung und der Entwurf der Software fand nicht wirklich statt. Wenn man mehrere tausend Queries benötigt, dann hat man enorme Design-Probleme in seiner Software.
Meinst du ich stell hier Fragen nur so auf doof?
Die Formulierung von Fragen, so dass man sie - ohne genaue Kenntnis des Sachverhaltes- versteht, ist kein Steckenpferd von mir, sondern der Versuch, vielleicht von jemand anderem einen guten Tipp in dieser Sache zu bekommen.

Danke für nichts.
Ecki

arty
Userprojekt
Userprojekt
Posts: 729
Joined: 2002-06-12 10:11

Re: Sehr große Arrays

Post by arty » 2003-07-25 19:23

Hallo Ecki,

wenn eine Software mehrere tausend Queries braucht, ist entweder das Datenbankdesign oder die porgrammierte Software schlecht. Oder die verwendeten Werkzeuge wie PHP und MySQL überfordert. So einfach ist das. Stell deinen Code doch mal online, dann kann man sich den mal ansehen.

bye
arty

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Sehr große Arrays

Post by oxygen » 2003-07-26 00:10

arty hat schon recht. Mit Konfigurationsmaßnahmen und ähnlichen wird man das Problem kaum lösen können. Eine guter PHP-Programmier rauft sich schon bei den ~30 Querys eines Woltlab Burning Board die Haare aus. Aber mehrere Tausend... Das ist einfach nicht die Dimension für die PHP und vielleicht auch MySQL gedacht ist. Da muss man schon an den Scripts arbeiten. Ansonsten poste doch mal die genaue Fehlermeldung... vielleicht sowas wie "MySQL Server has gone away"? Dann könnte man zumindest den Fehler auf MySQL oder PHP eingrenzen.

phil
Posts: 58
Joined: 2002-05-02 12:02
Location: Bodensee

Re: Sehr große Arrays

Post by phil » 2003-07-26 10:38

probier doch mal ob das php skript auf der shell durchläuft.

mfg Phil