Udostępnij za pośrednictwem


Dropping Indexes

Gdy indeks nie jest już potrzebna, można usunąć go z bazą danych i odzyskania miejsca na dysku obecnie używane.Każdy obiekt w bazie danych możesz korzystać z tego miejsca regeneracji.Usuwanie indeksu i upuszczając indeksu są synonimy.

Nie można usunąć indeks używany przez klucz podstawowy lub ograniczenia UNIQUE, z wyjątkiem przez upuszczenie ograniczenie.Po zmodyfikowaniu indeksu, na przykład zmodyfikować wartość współczynnik wypełnienia, używane przez indeks, można zasadniczo upuść i ponownie utwórz indeks używany przez ograniczenia klucz podstawowy lub UNIQUE bez konieczności usunąć i ponownie utworzyć ograniczenia.Aby uzyskać więcej informacji na temat przebudowywanie indeksu zobacz Reorganizing and Rebuilding Indexes.

Przebudowywanie indeksu, zamiast usuwania i odtwarzania, przydaje się także ponowne utworzenie indeks klastrowany.Dzieje się tak, ponieważ proces przebudowywanie indeksu można zrezygnować z sortowanie danych według kolumny indeksu, jeśli dane są już w kolejności sortowania.

Indeksy utworzone na wszystkich widoków lub tabel, zarówno stałych, jak i tymczasowy, są automatycznie usuwane po upuszczeniu widoku lub tabela.

Uwaga

Jeśli masz uprawnienia do ALTER w tabela, można usunąć indeksu.

Indeksy klastrowane

Po upuszczeniu indeks klastrowany wierszy danych, które były przechowywane na poziomie poziom liścia indeks klastrowany są przechowywane w tabela nieuporządkowana (sterty).Usunięcie indeks klastrowany może trwać czas, ponieważ oprócz upuszczanie indeks klastrowany, wszystkich nieklastrowany indeksów w tabela muszą przebudowany zastąpić wskaźniki wierszy do sterty kluczy indeks klastrowany.Kiedy strącisz wszystkie indeksy tabela, upuść nieklastrowany ostatnio indeksuje pierwszy i indeks klastrowany.W ten sposób indeksy nie muszą zostać ponownie zbudowana.Aby uzyskać więcej informacji na temat relacji między indeksów klastrowanych i nieklastrowany zobacz Struktury indeks nieklastrowany.

Tymczasowego miejsca na dysku wymagane jest, aby usunąć indeks klastrowany podczas operacji upuszczania online, lub gdy określono klauzula MOVE TO.Aby uzyskać więcej informacji zobaczDisk Space Requirements for Index DDL Operations.

Po upuszczeniu klastrowanego indeksu widok indeksowany wszystkie ponownego zbudowania indeksów nie klastrowanych i tworzony automatycznie statystyki dotyczące samego widoku są automatycznie usuwane.Ręczne tworzenie statystyki nie są usuwane.

Używanie klauzula TO MOVE

Można usunąć indeks klastrowany i przenieść utworzoną tabela nieuporządkowana (sterty) do innego schematu grupa plików lub partycji w jedną transakcję poprzez określenie opcji MOVE TO.Opcji MOVE TO ma następujące ograniczenia:

  • Nie jest prawidłowy dla widoków indeksowanych lub ponownego zbudowania indeksów nie klastrowanych.

  • Określona schemat partycji lub grupa plików musi już istnieć.

  • Jeśli MOVE TO nie zostanie określona, utworzoną tabela będą znajdować się w ten sam schemat partycji lub grupa plików, jak został zdefiniowany dla indeks klastrowany.

Upuszczanie klastrowanych indeksów w trybie online

Można określić opcji ONLINE po upuszczeniu indeks klastrowany.Gdy zestaw on, kwerendy i zmiany w danych źródłowych i skojarzone ponownego zbudowania indeksów nie klastrowanych nie są blokowane przez transakcję DROP indeks.Aby uzyskać więcej informacji zobaczWykonywanie operacji indeks w trybie online.

Kiedy jest ustawiony na włączone, opcja ONLINE ma następujące ograniczenia:

  • Tylko jeden indeks może być usunięty w danej chwili.

  • Nie jest prawidłowy dla niepełnosprawnych indeksów klastrowanych.

  • Nie jest prawidłowym indeksem klastrowanym dla widoku lub ponownego zbudowania indeksów nie klastrowanych w tabelach lub widokach.

  • Indeks klastrowany, który zawiera text, ntext, image, varchar(max), nvarchar(max), varbinary(max), lub xml w kolumnach wierszy, dane poziomu typu poziom liścia nie można go usunąć online.

Ustawianie opcji indeksowania MAXDOP

Można zastąpić maksymalny stopień proste Opcja konfiguracja sp_configure dla operacji upuszczania indeksu przez określenie opcji indeksowania MAXDOP.Aby uzyskać więcej informacji zobaczKonfigurowanie równoległa operacje indeksu.

Indeksy pełnego tekstu

Indeks określony jako pełnego tekstu klucz dla tabela nie można go usunąć.Wyświetlanie właściwości indeksu, aby określić, czy indeks całego tekstu klucz.Aby uzyskać więcej informacji zobaczINDEXPROPERTY (języka Transact-SQL).

Aby usunąć indeks

DROP INDEX (języka Transact-SQL)

How to: Delete an Index (SQL Server Management Studio)

Przykłady

A.Usunięcie indeksu

W poniższym przykładzie spadnie indeksu IX_ProductVendor_VendorID w ProductVendor Tabela.

B.Usunięcie indeks klastrowany w trybie ONLINE

W poniższym przykładzie spadnie indeks klastrowany opcją ONLINE ustawiona na ON.Utworzoną tabela nieuporządkowana (sterty) są przechowywane w grupa plików, w tym samym indeksu zostało zapisane.

See Also

Other Resources