Wenn ich die Komprimierung (entweder Seite oder Zeile) für den Clustered-Index einer Tabelle festlege, entspricht dies der Einstellung der Komprimierung für die Tabelle?
Ja.
Von MSDN :
Verwenden Sie die Syntax REBUILD WITH, um eine gesamte Tabelle einschließlich aller Partitionen in einer partitionierten Tabelle neu zu erstellen. Wenn die Tabelle einen Clustered-Index enthält, erstellt die Option REBUILD den Clustered-Index neu.
SQL Server bietet Optionen für beides, was darauf hindeutet, dass sie unterschiedlich sind
Der Grund , warum beide Syntaxen existieren, weil eine Tabelle nicht notwendigerweise haben einen gruppierten Index. Mit anderen Worten, ALTER INDEX ALL ON ... REBUILD
wirkt sich nicht auf einen Heap aus (obwohl er alle Nicht-Cluster berührt), sodass die andere Route diesem Zweck dient.
Auch wenn dies in der Dokumentation nicht ausdrücklich angegeben ist, aktiviert / deaktiviert die ALTER TABLE ... REBUILD
Syntax nicht die Komprimierung aller nicht gruppierten Indizes in der Tabelle. Dies betrifft nur den Heap oder den Clustered-Index.
Wenn Sie dies über SSMS testen, müssen Sie sich darüber im Klaren sein, dass beim Deaktivieren der Komprimierung möglicherweise Fehler auftreten. Schreiben Sie die Skripte aus, damit Sie sehen können, was wirklich vor sich geht.
Der Clustered-Index ist die Tabelle. Das Einstellen ist also dasselbe. Sie können dies überprüfen, indem Sie beide Fälle hier vergleichen:
SQL Server bietet auch verschiedene Möglichkeiten, um eine Spalte eindeutig zu machen:
...oder...
...oder...
...oder...
Diese werden alle mit derselben zugrunde liegenden Implementierung (mit unterschiedlichen Namen) enden.
Nur weil es verschiedene Möglichkeiten gibt, zur Arbeit zu kommen, heißt das nicht, dass Sie nicht immer noch im Büro landen. :-)
quelle