Udostępnij za pośrednictwem


Disk Space Requirements for Index DDL Operations

Miejsce na dysku jest ważne podczas tworzenia, ponownie utworzyć lub usunąć indeksy.Niewystarczająca ilość miejsca może obniżyć wydajność lub nawet powodować niepowodzenie operacji indeksu.Ten temat zawiera ogólne informacje, dzięki którym można określić ilość miejsca na dysku wymagane dla operacji (DDL) języka definicja danych indeksu.

Indeks operacje, które wymaga nie dodatkowego miejsca na dysku

Następujące operacje indeksu wymagane nie dodatkowe miejsce na dysku:

  • ALTER REORGANIZACJA INDEX; jednak miejsca w dzienniku jest wymagane.

  • Indeks DROP podczas odrzucają indeks nieklastrowany.

  • Indeks DROP podczas odrzucają klastrowanego indeksu w trybie offline bez określania MOVE do klauzula i ponownego zbudowania indeksów nie klastrowanych nie istnieją.

  • CREATE tabela (ograniczenia klucz podstawowy lub UNIQUE)

Indeks operacje, które wymaga dodatkowego miejsca na dysku

Wszystkie inne operacje DDL indeksu wymagają dodatkowych tymczasowego miejsca na dysku mają być używane podczas operacji i miejsca na dysku stałym do przechowywania nowej struktury indeksu lub struktur.Aby uzyskać więcej informacji na temat indeksu struktur zobacz Tabele i architektura strukturami danych indeksu.

Podczas tworzenia nowej struktury indeksu miejsca na dysku dla starego (urządzenie źródłowe) i nowe struktury (miejsce docelowe) jest wymagany w ich odpowiednie pliki i filegroups.Stare struktura nie jest dealokowane aż zatwierdzeniu transakcji tworzenia indeksu.

Następujące operacje DDL indeksu tworzenia nowych struktur indeksu i wymaga dodatkowego miejsca na dysku:

  • TWORZENIE INDEKSU

  • TWORZENIE INDEKSU Z DROP_EXISTING

  • ODBUDOWYWANIE INDEKSU ZMIANY

  • ALTER tabela ADD CONSTRAINT (klucz podstawowy lub UNIQUE)

  • ALTER tabela DROP CONSTRAINT (klucz podstawowy lub UNIQUE) Jeśli ograniczenie jest oparty na indeks klastrowany

  • DROP indeks MOVE TO (dotyczy tylko stosowanie indeksów klastrowanych.)

Tymczasowego miejsca na dysku dla sortowanie

Oprócz dysku miejsca wymaganego do źródłowego i docelowego struktur, tymczasowego miejsca na dysku jest wymagana do sortowania, chyba że optymalizator kwerendy znajduje się plan wykonania, który nie jest wymagane sortowanie.

Jeśli wymagany jest sortowania, sortowanie występuje jeden nowy indeks w czas.Na przykład kiedy należy odbudować indeks klastrowany i skojarzone nieklastrowany indeksów w obrębie pojedynczej instrukcja, indeksy są sortowane jeden po drugim.Dlatego miejsce na dysku tymczasowym dodatkowe wymagane do sortowania tylko ma była jak największa indeksu w operacji.To jest prawie zawsze indeks klastrowany.

Jeśli opcja SORT_IN_TEMPDB jest zestaw on, największy indeksu musi mieścić się w tempdb.Mimo że ta opcja powoduje zwiększenie ilości miejsca na dysku tymczasowym, który służy do tworzenia indeksu, może zmniejszyć czas wymagany do tworzenia indeksu po tempdb znajduje się zestaw dysków różni się od baza danych użytkownika.Aby uzyskać więcej informacji na temat sortowania tempdb, see tempdb and Index Creation.

Jeśli jest SORT_IN_TEMPDB zestaw do OFF (ustawienie domyślne) każdego indeksu, łącznie z indeksami podzielonym na partycje, jest już posortowana w jej obiekt docelowy; i wymagane jest tylko miejsca na dysku dla nowych struktur indeksu.

Przykład obliczania ilości miejsca na dysku można znaleźć w temacie Index Disk Space Example.

Tymczasowego miejsca na dysku dla operacji indeks online

Podczas wykonywania operacji indeksu w trybie online, wymagane jest dodatkowe tymczasowego miejsca na dysku.

Jeśli indeks klastrowany jest tworzony, przebudowany lub odrzucone w trybie online, tymczasowy indeks nieklastrowany zostanie utworzona mapowania zakładki starej do nowej zakładki.Jeśli opcja SORT_IN_TEMPDB jest zestaw on, tymczasowy indeks ten jest tworzony w tempdb.Jeśli SORT_IN_TEMPDB ma wartość OFF, grupa plików, w tym samym lub schemat partycji jako miejsce docelowe jest używany indeks.Indeks tymczasowe mapowania zawiera pojedynczy rekord dla każdego wiersza w tabela, a jego zawartość jest sumę kolumnach zakładki stare i nowe, w tym uniqueifiers identyfikatory rekordów i włączając tylko jedną kopię każdej kolumna, używane w obu zakładki. Aby uzyskać więcej informacji na temat operacji indeksu online zobacz Wykonywanie operacji indeks w trybie online.

Uwaga

Nie zestaw opcję SORT_IN_TEMPDB dla instrukcji DROP indeks.Indeks tymczasowe mapowania zawsze jest tworzony w ten sam schemat grupa plików lub partycji, jako indeks miejsce docelowe.

Indeks online operacje użycia wiersz wersji do izolowania operacji indeksu przed skutkami modyfikacji dokonanych przez inne transakcje.Pozwala to uniknąć konieczności żądanie blokady udział w wierszach, które zostały przeczytane.Równoczesne użytkownika aktualizować i usuwać operacje podczas online indeksu operacje wymagają miejsca dla wersja rekordów tempdb.Aby uzyskać więcej informacji zobacz Wykonywanie operacji indeks w trybie online i Understanding Row Versioning-Based Isolation Levels.