1

テーブルから列を削除すると、インデックスがどうなるか知っている人はいますか?

SQL Server はそのインデックスを再構築しますか? クラスター化インデックスの場合はどうなりますか?

1 億 5000 万行のテーブルがあり、列を削除する必要があります。クラスター化インデックスとして注文された場合、テーブルは再構築されますか? それとも、インデックスはその列の 1 つが削除されたことを理解しているだけですか?

4

2 に答える 2

1

カラムによって異なります。列が任意のインデックス (クラスター化または非クラスター化) のインデックス列として使用されている場合、影響を受けるインデックスを最初に削除しない限り、削除できません。

列がインデックス列として使用されていない場合は、その列を削除できます。クラスター化インデックスは再構築されません。ただし、クラスター化インデックスを再構築するまで、テーブルの使用済み領域も変更されません。

編集: 参照: http://msdn.microsoft.com/en-us/library/ms190273.aspx

于 2012-09-29T15:00:32.987 に答える
0

それは、インデックスが「ただ理解できる」ものではありません。複合インデックスは、インデックスで使用されているすべての列がクエリで使用されている場合にのみ、クエリ エンジンで使用できます。これは、インデックスからインデックスへのマルチレベル インデックスです (意味がある場合)。インデックス定義構造内の列の順序は、構築される物理インデックスです。列を削除する場合は、このインデックスを削除して新しいインデックスを作成する必要があります。

于 2012-09-29T00:32:34.667 に答える