Kalle_B: MySQL / PHP: Programmtuning

Beitrag lesen

Hallöle,

ich habe eine Liste mit über 600 Besuchern eines Forums. Im Laufe der Zeit wurde diese Liste mit immer neuen Informationen zur Person ergänzt (in Klammern die Zahl der durchschnittlichen Treffer):

1. Welcher Gruppe gehört die Person an? (0 oder 1)
2. Wieviel Gesprächswünsche mit Ausstellern? (10)
3. Wieviel davon gebucht? (8)
4. Wieviel Eventwünsche (Teilnahme an Vorträgen, Diskussionsgruppen)? (5)
5. Wieviel davon gebucht? (5)

Die SQL- Abfrage ergibt also 600*10*8*5*5 Zeilen, die dann auf die 600 Personen verdichtet werden (GROUP BY).

Auf meinem schwächlichen Win-Laptop wurde jetzt dabei die Execution-Time von 60 sec. überschritten, Abbruch nach 570 Zeilen. Ich muss über ein Tuning nachdenken.

Habe jetzt die Zusatzinformationen nur pro Person eingeholt. Das sind zwar 599 Zugriffe mehr auf die Datenbank, aber nur noch
600 + 10*8*5*5 Zeilen (stimmt das?)

Die kommen auf dem Laptop jetzt komplett in 49 sec, auf einem eigenen Debian-Server im Web in 12 sec, beide zusätzlich Übertragung an den Browser.

Irgendwie habe ich das Gefühl, da ist noch mehr drin.

Wer hat sich schon Gedanken zum Tuning gemacht und kann Tipps geben?

Eigentlich ist die Anwendung ein Witz, wenn ich an industrielle Datenmengen denke. Nun gut, die laufen auch nicht auf einem Laptop. Aber wenn hier schon PHP und MySQL an Grenzen stösst ...

Lieben Gruß, Kalle