Wir alle wissen, dass wir nur eine Clusteransicht pro Tabelle haben können, cool. Aber anscheinend haben Sie keine Werte für berechnete Spalten auf Blatt, selbst wenn Sie einen Clustered-Index verwenden, und sie werden jedes Mal berechnet.
Meine erste Frage ist also, ist das richtig, was ich gerade gesagt habe?
Wenn Sie einen Clustered-Index erstellen, zitieren Sie mich einfach.
"Wenn Sie einen Clustered-Index für eine berechnete Spalte erstellen, sind die Werte der Spalte physisch in den entsprechenden Tabellenzeilen vorhanden, da Blattseiten des Clustered-Index enthalten Datenzeilen. "
Ja, okay, aber warum sollte ein Clustered-Index nur für berechnete Spalten erstellt werden? Ich dachte, wenn Sie einen Clustered-Index für eine Spalte erstellen, sind die Daten auf Blatt vorhanden?
Meine Frage 2 lautet also: Würde der Wert der berechneten Spalte in der Tabelle vorhanden sein (bestehen bleiben), wenn wir nur einen Clustered-Index für diese bestimmte Spalte erstellen würden? (Frage 2 fährt fort) Wenn dies tatsächlich der Fall ist, was ist, wenn wir mehr als eine berechnete Spalte haben? Sicherlich können wir nicht mehr als einen Clustered-Index erstellen. Wie können wir ihren Wert dauerhaft machen?
Was ist nun mit den Deckungsindizes? Erstens müssen wir beim Erstellen eines Clustered-Index keinen Deckungsindex abdecken (oder wir können ihn nicht wirklich erstellen), da sich alle Daten bereits auf Blatt befinden würden, oder? Es macht also keinen Sinn, eine andere Spalte aufzunehmen?
Drittens möchte ich fragen, ob ich mit dem, was ich gerade in meiner vorherigen Aussage gesagt habe, richtig bin.
Wenn wir nun einen Deckungsindex erstellen (nicht gruppiert, oder?) Und die berechneten Spalten einschließen, würden wir sie dann beibehalten? Würden sie "physisch gespeichert" oder erneut berechnet? (und das war übrigens meine 4. Frage.)
Schließlich (5. Frage): Wenn wir auf all diese Arten dasselbe erreichen können (berechnete Spalten beibehalten) (oder auf einige dieser Arten weiß ich nicht wirklich, welche, deshalb stelle ich die Frage an erster Stelle!). Was wäre dann die beste Methode und warum?
ps: Es tut mir leid, wenn ich nur einmal 5 Fragen gestellt habe, aber sie sind alle schrecklich verwandt, und ich wollte nicht immer und immer wieder dasselbe in 5 verschiedenen Fragen stellen. Ich hoffe, Sie verstehen! :) :)
BEARBEITEN: Nun, als Antwort auf Kommentare verwende ich derzeit SQL Server 2008, aber wenn Sie angeben könnten, wie sich die Situation ändern würde, wenn Sie etwas anderes (mein SQL oder was auch immer) verwenden, wäre dies nicht nur für mich, sondern auch für die Community von Vorteil . :) :)