Hallo,
ich habe ein Statement:
SELECT odc1.* FROM relODCEvent odc1 WHERE odc1.EventID IN
(
SELECT MAX(odc2.EventID)
FROM relODCEvent odc2
WHERE
odc2.PersonNr = '272' AND odc2.RNr = 10134 AND odc2.Trac=24
);
In der Unterabfrage hole ich die Größte Eventid für die Auswahl PersonNr, RNr, Trac
, mit dieser hole ich alle Daten aus dem Satz.
Problem:
In der Unterabfrage gibt es ca. 10000 DS, diese sind aber Zeitlich sehr verteilt, so daß das DB-System aus vielen Tabellenblöcken Daten holen muß, und deshalb das Laden zu lange dauert.
Kann ich in der Unterabfrage den Max-Wert holen, ohne daß das System dazu alle Datensätze lesen muß ?
Gruß
Peter Brosi
ich habe ein Statement:
SELECT odc1.* FROM relODCEvent odc1 WHERE odc1.EventID IN
(
SELECT MAX(odc2.EventID)
FROM relODCEvent odc2
WHERE
odc2.PersonNr = '272' AND odc2.RNr = 10134 AND odc2.Trac=24
);
In der Unterabfrage hole ich die Größte Eventid für die Auswahl PersonNr, RNr, Trac
, mit dieser hole ich alle Daten aus dem Satz.
Problem:
In der Unterabfrage gibt es ca. 10000 DS, diese sind aber Zeitlich sehr verteilt, so daß das DB-System aus vielen Tabellenblöcken Daten holen muß, und deshalb das Laden zu lange dauert.
Kann ich in der Unterabfrage den Max-Wert holen, ohne daß das System dazu alle Datensätze lesen muß ?
Gruß
Peter Brosi