Ich entwerfe eine spezielle SQL Server-Tabelle mit 1M Zeilen täglich hinzugefügt. Die Tabelle enthält 3 Phasen. Das bedeutet, dass der Entitätslebenszyklus 4 Zustände hat:Brauchen Sie Hilfe für das physikalische Design einer großen Tabelle mit Zeilen in 3 Stufen
Status 1: Fügt eine neue Zeile ein und füllt die Spalten 1-15. Der Rest der Spalten bleibt NULL.
Zustand 2: Updates (bevölkert) Spalten 16-25
Zustand 3: Updates (bevölkert) Spalten 26-40
Zustand 4: Die Zeile kann zur Meldung verarbeitet werden.
Above Anforderungen stellt die folgenden Unzulänglichkeiten:
- Alle Spalten 16-40 müssen nullable sein, da sie aufgefüllt werden, nachdem jede Zeile erstellt wird.
- Da gibt es mindestens 2 Sätze von NULL-Spalten sind verpuppt (update) nach jeder Zeile erstellt wird, wird es viele Zerlegungen - ich nehme an, richtig?
Ich dachte, um diese Einheit auf 3 Tabellen zu brechen, aber wenn ich das tue, dann muss ich beitreten die 3 Tabellen während der Berichterstattung. Gibt es eine Technik oder ein Muster, die mir helfen, diese Tabelle effizienter zu machen?
Die von Ihnen erläuterte Idee funktioniert gut, wenn die Spalten gelegentlich (gefüllt) verwendet werden. Die Anforderung ist hier anders. Alle Zeilenspalten sind gefüllt. Das Problem ist, dass sie bei der INSERT-Zeit nicht gefüllt sind und dass es nachfolgende Aktualisierungen gibt. Übrigens, für das von Ihnen erläuterte Szenario sollten Sie sich Sparse Columns ansehen. –