Hallo zusammen
Ich habe eine Tabelle welche immer Änderungen einer anderen Tabelle mitprotokolliert. Dazu füge ich u. a. das Datum an. Nun will ich das zu einem DS in der Quell-Tabelle in der Sicherungstabelle immer nur das aktuellste stehen bleibt. Ich habe mir dazu ein DELETE-Statement geschrieben, welches jedoch extrem langsam ist und lange dauert (es können ca. 150 DS in der Sicherungstabelle sein).
Ich nehme an das ich da einen ziemlichem Murks programmiert habe. Vielleicht habt ihr eine Idee wie das schneller gehen kann?
Hier das Statement:
Das ganze läuft schon ne Weile und behindert den Ablauf extrem. Hoffe ihr habt eine Idee wie ich es realisieren kann das immer nur der DS mit dem aktuellsten Datum stehen bleibt!
Danke und LG
Michael
Ich habe eine Tabelle welche immer Änderungen einer anderen Tabelle mitprotokolliert. Dazu füge ich u. a. das Datum an. Nun will ich das zu einem DS in der Quell-Tabelle in der Sicherungstabelle immer nur das aktuellste stehen bleibt. Ich habe mir dazu ein DELETE-Statement geschrieben, welches jedoch extrem langsam ist und lange dauert (es können ca. 150 DS in der Sicherungstabelle sein).
Ich nehme an das ich da einen ziemlichem Murks programmiert habe. Vielleicht habt ihr eine Idee wie das schneller gehen kann?
Hier das Statement:
Code:
DELETE FROM Sicherungstabelle WHERE xID IN( SELECT xid FROM Sicherungstabelle WHERE xID not in ( SELECT xid FROM Sicherungstabelle p1 WHERE xID IN ( SELECT TOP 1 xid FROM Sicherungstabelle p2 WHERE p1.persFK=p2.persFK ORDER BY ChangeDate DESC)) )
Danke und LG
Michael
Comment