Hallo Reiner,
bei Schlund gibt es einen DB-Timeout von 120 Sek.
Ich habe mein Script darauf angepaßt und breche es nach 110 Sek. ab.
Nun stelle ich fest, daß manche Monate fehlen (wegen dem TimeOut), aber der Oktober ist NIE vorhanden. Und das gilt generell für nur für diesen Monat.
Mal ein paar allgemeine Fragen (ohne Berücksichtigung von MySQL):
Sind auf den/der angesprochenen Tabelle(n) Indizes?
Fragst Du anhand der Indizes Deine Informationen ab?
Beispieltabelle [Altersangaben]:
_Index1_ _Index2_
Vorname Nachname Alter
Hugo Meyer 12
Emil Mueller 13
Oskar Meyer 36
Guido Mueller 48
[...]
Hier gibt es unter Umständen (Datenvolumen) einen gewaltigen Performance-Unterschied zwischen
[SQL1]
SELECT Vorname, Nachname, Alter
FROM Altersangaben
WHERE Nachname = "Meyer"
AND Vorname = "Guido"
[SQL2]
SELECT Vorname, Nachname, Alter
FROM Altersangaben
WHERE Vorname = "Guido"
AND Nachname = "Meyer"
SQL1 arbeitet nicht anhand des Index (falls kein Optimizer zuschlägt), SQL2 folgt brav dem Index, was natürlich performanter ist.
Falls Du auf Deinen Tabellen gar keine Indizes hast, versuchs mal mit Indizes und selektiere anhand dieser, den Rechner (und Dich auch) wirds freuen. Ansonsten macht jede Datenbank auch gnadenlos einen Full-Table-Scan und das kostet Zeit.
Oder könnte das einen Grund haben?
Vielleicht ist das der Grund.
Bis denndann
Michael N.