MAchst du ein Join auf den Datenbanken oder schmeist du ersteinmal die Datenbanken wild mit nem Select * FROM a,b zusammen? Dann muß er erstemal die Kreuztabelle aufbauen.. udn dann rechne nochmal was da an Daten rauskommt...
Oder ist das etwa nur eine Tabelle?
Ich mache folgendes:
Für jeden Kunden:
|_Für jeden Monat:
|_Für jeden Tag:
|_hole Daten, wo Kunde = "blablabla" UND parameter1 = "blablabla".....
d.h. vielleicht könnte man das besser zusammenfassen, aber dann habe ich ein anderes Problem, weil ich an ein CGI-Timeout beim sortieren der Arrays komme.
Ich hoffe Du sortierst nicht das was aus der Datenbank kommt, sondern holst es dir schon mit nem Sort raus (geht schneller wenn die DB das macht)
Im Endeffekt komme ich also auf:
4 (Mai - August) * 30 (Tage) * 100 Kunden = Anzahl der Querys....
Nö. Wie ist die DB aufgebaut? Machst Du ein böses select * from bei dem er dann erst aussortiert?
Das sind also (ca.) 12.000 querys.
Ist sicher noch zu verbessern, aber eben nicht 500.000
Sicher?
Schnapp Dir am besten mal ein Buch über DB - Design...