In einer unserer Kunden-Datenbanken gibt es einige Snapshot-Tabellen, die nützliche Informationen aus vielen anderen Tabellen zusammenfassen (zB was war der Status eines jeden Kunden in jeder Periode usw.) .Snapshot-Tabellen mit Fremdschlüsseln vs. Snapshot-Tabellen mit echten Werten
Die Snapshot-Tabellen enthalten jedoch hauptsächlich Fremdschlüssel für ihre ursprünglichen Tabellen. Um nützliche Informationen über den Snapshot zu erhalten, müssen wir sie daher mehrfach mit den entsprechenden Tabellen verknüpfen. Und diese Verbindungen dauern oft sehr lange. Das Hinzufügen von Indizes zu allen FL
Spalten in Datenbanken (oder zumindest in Spalten in WHERE
Klauseln in unseren Abfragen) andererseits verlangsamt die Datenbank erheblich.
Also meine Frage ist, wäre es nicht besser, Snapshot-Tabellen mit echten Werten anstelle von Fremdschlüsseln zu haben? Und wenn die Antwort negativ ist, würde es nicht den Zweck von Snapshot-Tabellen übertreffen, wenn die Originaltabellen aktualisiert würden (zB wenn ein 'Candle' genannt wurde und jetzt 'Lamp' ist Snapshot zwar konsistent, aber ist es wirklich ein Snapshot in diesem Fall?)
Fragen Sie sich: Was passiert, wenn einige Einträge gelöscht werden? Der Schnappschuss, der die FKs enthält, wird – lokusking
@lokusking nicht mehr verwenden. Wäre es nicht sinnvoll, dann echte Werte zu haben? – Disasterkid
Das ist das einzige, was imo Sinn macht. – lokusking