Zeitbedarf von Intervallabfragen XP (Sp2), Access 2003 (sp3)

19/11/2008 - 12:12 von Heinz-Bernd Weerts | Report spam
Hallo zusammen,
ich möchte aus einer DB-Tabelle mit derzeit 80.000 Datensàtzen eine
Gruppierungsabfrage erstellen.
Hintergrund:
In Fahrzeugen sind Bauteile eingebaut, von denen ich die Hàufigkeit der
Ausfàlle in KM-Intervallen (je 5000 km) abfragen möchte.

Ich ging so vor:
Die Abfrage der Intervalle bis 75.000 km ( Unterabfragen) dauert ca. 6
Sekunden,
bis 80.000 km ( Unterabfragen) ca. 9 sek,
bis 85.000 km ( Unterabfrage) ca. 18 sek,
bis 90.000 km ca. 45 sek,
bis 95.000 km ca. 200 sek.
Hier habe ich aufgehört, da die Zeit sich offensichtlich vervielfacht

Hier ein Beispiel der Abfrage bis 10.000 km

SELECT wkt_00.[Teile-Nr eingebaut], z_abf_kmStand_005000.bis_5000,
z_abf_kmStand_010000.bis_10000
FROM (wkt_00 INNER JOIN z_abf_kmStand_005000 ON wkt_00.[Teile-Nr eingebaut]
= z_abf_kmStand_005000.[Teile-Nr eingebaut]) INNER JOIN z_abf_kmStand_010000
ON wkt_00.[Teile-Nr eingebaut] = z_abf_kmStand_010000.[Teile-Nr eingebaut];

Meine Frage, wie kann ich solch eine Abfrage aufbauen, dass die Zeitrahmen
in einem ertràglichem Rahmen beleibt?

Grüße
Heinz-Bernd
 

Lesen sie die antworten

#1 Peter Doering
19/11/2008 - 13:08 | Warnen spam
Hallo,

Heinz-Bernd Weerts wrote:

ich möchte aus einer DB-Tabelle mit derzeit 80.000 Datensàtzen eine
Gruppierungsabfrage erstellen.
Hintergrund:
In Fahrzeugen sind Bauteile eingebaut, von denen ich die Hàufigkeit der
Ausfàlle in KM-Intervallen (je 5000 km) abfragen möchte.

Ich ging so vor:
Die Abfrage der Intervalle bis 75.000 km ( Unterabfragen) dauert ca. 6
Sekunden,
bis 80.000 km ( Unterabfragen) ca. 9 sek,
bis 85.000 km ( Unterabfrage) ca. 18 sek,
bis 90.000 km ca. 45 sek,
bis 95.000 km ca. 200 sek.
Hier habe ich aufgehört, da die Zeit sich offensichtlich vervielfacht

Hier ein Beispiel der Abfrage bis 10.000 km

SELECT wkt_00.[Teile-Nr eingebaut], z_abf_kmStand_005000.bis_5000,
z_abf_kmStand_010000.bis_10000
FROM (wkt_00 INNER JOIN z_abf_kmStand_005000 ON wkt_00.[Teile-Nr eingebaut]
= z_abf_kmStand_005000.[Teile-Nr eingebaut]) INNER JOIN z_abf_kmStand_010000
ON wkt_00.[Teile-Nr eingebaut] = z_abf_kmStand_010000.[Teile-Nr eingebaut];

Meine Frage, wie kann ich solch eine Abfrage aufbauen, dass die Zeitrahmen
in einem ertràglichem Rahmen beleibt?



Grundsaetzlich ist das Verhalten, dass die Laufzeit in Verbindung mit
Unterabfragen exponentiell ansteigen, ist nicht ungewoehnlich.

Zeig mal eine der Unterabfragen. Ich gehe davon aus, dass sie bis auf den
km-Stand gleich sind, oder?

Gruss - Peter

Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen