G
Guest
Gast
Hallo Leute, ich habe ein kleines Problem mit einem "Datenbankabgleich"
Ich habe 2 verschiedene Datenbanken. Die eine Datenbank läuft "live" bedeutet, wird von einem System geändert.
Die 2. Datenbank protokolliert alle 24 Stunden alle änderungen der "LiveDB", also der 1. DB.
Das herausfinden ob daten hinzugefügt oder geändert wurden ist kein problem, da ich einen Last_Change Spalte habe. Doch was mache ich wenn daten gelöscht wurden?
Grundlegend bekomme ich über COUNT heraus ob sich die Anzahl der Daten geändert hat. Wenn COUNT die gleichen werte liefert ist klar, dass nichts gelöscht wurde. Wenn count keine gleiche Zahl bietet ist klar, dass etwas gelöscht wurde.
Doch wie bekomme ich nun elegant heraus welcher Datensatz gelöscht wurde.
Momentan laufe ich einfach über alle einträge, die ich in meiner parallel DB habe und prüfe ob die Daten in der "live" db noch vorhanden sind. Das ganze finde ich aber nicht wirklich so elegant, denn bei einer großen Menge an Daten das ganze schön an die performace geht, da ich ja immer einen neuen query mache.
Jmd. eine Idee wie ich das schön elegant lösen kann?
Im grunde habe ich 2 Tabellen die zum Zeitpunkt 0 identisch sind. Nun will ich 24h später herausfinden ob und wo es änderungen zwischen tabelle 1 und Tabelle 2 gibt. Dabei bleibt 2 gleich und nur 1 ändert sich.
Hoffe auf gute Idee.
Ich hoffe auch ich habe das so beschrieben, dass ihr das auch versteht. wenn nicht, dann grad nochmal kurz nachfragen.
Vielen Dank schonmal, dass ihr euch das durchgelesen habt, ich hoffe ihr wisst dazu auch eine Antwort.
Gruß
User
Ich habe 2 verschiedene Datenbanken. Die eine Datenbank läuft "live" bedeutet, wird von einem System geändert.
Die 2. Datenbank protokolliert alle 24 Stunden alle änderungen der "LiveDB", also der 1. DB.
Das herausfinden ob daten hinzugefügt oder geändert wurden ist kein problem, da ich einen Last_Change Spalte habe. Doch was mache ich wenn daten gelöscht wurden?
Grundlegend bekomme ich über COUNT heraus ob sich die Anzahl der Daten geändert hat. Wenn COUNT die gleichen werte liefert ist klar, dass nichts gelöscht wurde. Wenn count keine gleiche Zahl bietet ist klar, dass etwas gelöscht wurde.
Doch wie bekomme ich nun elegant heraus welcher Datensatz gelöscht wurde.
Momentan laufe ich einfach über alle einträge, die ich in meiner parallel DB habe und prüfe ob die Daten in der "live" db noch vorhanden sind. Das ganze finde ich aber nicht wirklich so elegant, denn bei einer großen Menge an Daten das ganze schön an die performace geht, da ich ja immer einen neuen query mache.
Jmd. eine Idee wie ich das schön elegant lösen kann?
Im grunde habe ich 2 Tabellen die zum Zeitpunkt 0 identisch sind. Nun will ich 24h später herausfinden ob und wo es änderungen zwischen tabelle 1 und Tabelle 2 gibt. Dabei bleibt 2 gleich und nur 1 ändert sich.
Hoffe auf gute Idee.
Ich hoffe auch ich habe das so beschrieben, dass ihr das auch versteht. wenn nicht, dann grad nochmal kurz nachfragen.
Vielen Dank schonmal, dass ihr euch das durchgelesen habt, ich hoffe ihr wisst dazu auch eine Antwort.
Gruß
User