Udostępnij za pośrednictwem


Usuwanie indeksów

Gdy indeks nie jest już potrzebny, można usunąć go z bazy danych i odzyskania miejsca na dysku aktualnie używa.Każdy obiekt w bazie danych można użyć tego miejsca regeneracji.Usuwanie indeksu i upuszczając indeksu są tożsame.

Nie można usunąć indeksu używany przez klucz podstawowy lub ograniczenie UNIQUE, z wyjątkiem upuszczając ograniczenie.Modyfikując indeksu, na przykład zmodyfikować wartość współczynnik wypełnienia używanych przez indeks, można zasadniczo upuść i ponownie utwórz indeks używane przez ograniczenie na klucz podstawowy lub unikatowe, bez konieczności usunąć i ponownie utworzyć ograniczenie.Aby uzyskać więcej informacji na temat przebudowywanie indeksu, zobacz Reorganizowanie i odbudowa indeksów.

Przebudowywanie indeksu, zamiast upuszczanie i odtwarzania go, jest również przydatny ponownie utworzyć indeks klastrowany.Jest tak, ponieważ proces przebudowywanie indeksu można usunąć wymóg, aby posortować dane według kolumn indeksu, jeśli dane już posortowane.

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

Ostrzeżenie

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

Stosowanie indeksów klastrowanych

Po upuszczeniu indeks klastrowany wiersze danych przechowywane w poziom liścia poziom indeksu klastrowanego są przechowywane w tabela nieuporządkowana (sterty).Upuszczanie indeks klastrowany może trwać czas, ponieważ oprócz upuszczanie indeks klastrowany, wszystkie zbudowania indeksów w tabela muszą odbudowany zastąpić kluczy indeksu klastrowanego wskaźniki wiersza do sterty.Kiedy strącisz wszystkie indeksy tabela, upuść nieklastrowany ostatnio indeksuje pierwszy i indeks klastrowany.W ten sposób żadnych indeksów musi zostać odbudowany.Aby uzyskać więcej informacji na temat relacji między indeksy klastrowane i nieklastrowany Zobacz Struktury indeks nieklastrowany.

Tymczasowego miejsca na dysku jest wymagane Aby upuścić indeks klastrowany podczas operacji upuszczania online lub gdy określono Przenieś do klauzula.Aby uzyskać więcej informacji, zobacz Wymagania dotyczące miejsca na dysku dla operacji DDL indeksu.

Po upuszczeniu indeks klastrowany indeksowany widok wszystkie zbudowania indeksów i automatycznie utworzonej statystyki dotyczące tego samego widoku są automatycznie usuwane.Ręczne tworzenie statystyki nie są porzucane.

Używając klauzuli do PRZENOSZENIA

Można usunąć indeks klastrowany i przenieść wynikowej tabela nieuporządkowana (sterty) do innej grupy plików lub schemat partycji w ramach pojedynczej transakcji przez określenie opcji Przenieś do.Przejdź do opcji ma następujące ograniczenia:

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

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

  • Jeśli Przenieś do nie jest określony, wynikowej tabela będzie znajdować się w tym samym schemat partycji lub grupa plików, jak został zdefiniowany dla indeks klastrowany.

Upuszczanie klastrowanego indeksów Online

Można określić opcję ONLINE, po upuszczeniu indeks klastrowany.Gdy zestaw on, kwerend i zmiany danych źródłowych i skojarzone ponownego zbudowania indeksów nie są zablokowane przez transakcji UPUŚĆ INDEKSU.Aby uzyskać więcej informacji, zobacz Wykonywanie operacji indeks w trybie Online.

Gdy zestaw ON, opcja ONLINE ma następujące ograniczenia:

  • Tylko jeden indeks można upuszczać na czas.

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

  • Nie jest prawidłowy dla indeks klastrowany w widoku lub ponownego zbudowania indeksów w tabelach lub widokach.

  • Indeks klastrowany, który zawiera text, ntext, image, varchar(max), nvarchar(max), varbinary(max), lub xml kolumn w poziom liścia online nie usunięte wiersze danych na poziomie.

Opcja Indeks MAXDOP

Można zastąpić maksymalny stopień równoległości prostych opcji konfiguracja sp_configure dla operacji indeksu upuszczania, określając MAXDOP indeks opcji.Aby uzyskać więcej informacji, zobacz Konfigurowanie operacji równoległych indeksu.

Indeksy pełnotekstowe

Nie można usunąć indeksu określone jako klucz pełnotekstowego opartego na tabela.Wyświetlanie właściwości indeksu, aby określić, czy indeks klucz pełnotekstowego.Aby uzyskać więcej informacji, zobacz INDEXPROPERTY (Transact-SQL).

Aby usunąć indeks

Usuwanie INDEKSU (Transact-SQL)

Jak Usuwanie indeksu (SQL Server Management Studio)

Przykłady

A.Upuszczanie indeksu

Poniższy przykład spadnie indeksu IX_ProductVendor_VendorID w ProductVendor tabela.

USE AdventureWorks2008R2;
GO
DROP INDEX IX_ProductVendor_BusinessEntityID 
    ON Purchasing.ProductVendor;
GO

B.Upuszczanie indeks klastrowany w trybie ONLINE

Poniższy przykład spadnie indeks klastrowany opcją ONLINE zestaw on.Wynikowy nieuporządkowane tabela (sterty) są przechowywane w tym samym grupa plików jako indeks był przechowywany.

USE AdventureWorks2008R2;
GO
DROP INDEX AK_BillOfMaterials_ProductAssemblyID_ComponentID_StartDate 
    ON Production.BillOfMaterials WITH (ONLINE = ON, MAXDOP = 2);
GO

Zobacz także

Odwołanie