Wskazówki dotyczące wykonywania operacji indeksu Online
Podczas wykonywania operacji indeksu online, stosuje się następujące wytyczne:
Stosowanie indeksów klastrowanych musi zostać utworzony, przebudowany lub porzucone offline podczas tabela źródłowa zawiera typy danych do dużego obiektu (LOB): image, ntext, text, varchar(max), nvarchar(max), varbinary(max), and xml.
Nieunikatowy zbudowania indeksów można utworzyć online, gdy tabela zawiera typy dane LOB, ale żadna z tych kolumn są używane w definicji indeksu jako klucz lub kolumnami (włączone).Zdefiniowane przy użyciu kolumn typu dane LOB ponownego zbudowania indeksów muszą być utworzone lub przebudowany w trybie offline.
Indeksy w lokalnych tabelach tymczasowych nie utworzone, przebudowany lub porzucone w trybie online.To ograniczenie nie dotyczy indeksów na tabelach tymczasowych globalnego.
Ostrzeżenie
Operacje indeksu online są dostępne tylko w SQL Server wersje Enterprise, Developer i oceny.
W poniższej tabela przedstawiono operacje indeksu, które mogą być wykonywane w trybie online i indeksy, które są wyłączone z tych operacji online.Włącza się również dodatkowe ograniczenia.
Operacja online indeksu |
Wykluczone indeksów |
Inne ograniczenia |
---|---|---|
ALTER PRZEBUDUJ INDEKS |
Wyłączone indeks klastrowany lub wyłączone indeksowany widok Indeks XML Indeks w lokalnej tabela tymczasowej |
Określając wszystkie może spowodować niepowodzenie, gdy tabela zawiera indeks wykluczonych operacji słowo kluczowe. Zastosować dodatkowe ograniczenia na Odbudowa indeksów wyłączone.Aby uzyskać więcej informacji, zobacz Wytyczne dotyczące wyłączania indeksy i ograniczenia. |
TWORZENIE INDEKSU |
Indeks XML Początkową unikatowego indeks klastrowany w widoku Indeks w lokalnej tabela tymczasowej |
|
TWORZENIE INDEKSU Z DROP_EXISTING |
Wyłączone indeks klastrowany lub wyłączone indeksowany widok Indeks w lokalnej tabela tymczasowej Indeks XML |
|
USUWANIE INDEKSU |
Indeks wyłączone Indeks XML Indeks nieklastrowany Indeks w lokalnej tabela tymczasowej |
Nie można określić wiele indeksów w ramach jednej instrukcja. |
Zmienianie tabeli Dodaj warunek OGRANICZAJĄCY (klucz podstawowy lub unikatowe) |
Indeks w lokalnej tabela tymczasowej Indeks klastrowany |
Dozwolone jest tylko jeden subclause czas.Na przykład nie można dodawać i usuwanie klucza podstawowego ani ograniczenia UNIQUE, w tej samej instrukcja ALTER TABLE. |
ALTER tabeli DROP CONSTRAINT (klucz podstawowy lub unikatowe) |
Indeks klastrowany |
|
tabela źródłowa Nie modyfikowane, obcięta lub usunięte podczas procesu operacji online indeksu.
Ustawienie opcji online (ON lub OFF) określona podczas tworzenia lub usunąć indeks klastrowany jest stosowane do zbudowania indeksów, które musi zostać odbudowany.Na przykład, jeśli indeks klastrowany jest wbudowana online za pomocą utworzyć indeks Z DROP_EXISTING, ONLINE = ON, wszystkie skojarzone zbudowania indeksów są odtwarzane ponownie online również.
Podczas tworzenia lub odbudować unikatowy indeks w trybie online, Konstruktor indeksu i transakcji równoczesnych użytkowników próby wstawienia tego samego klucz, dlatego naruszenie unikatowości.Jeśli wiersz wprowadzone przez użytkownika zostanie wstawiony nowy indeks (miejsce docelowe) przed oryginalny wiersz z źródło tabela jest przenoszony do nowego indeksu indeks online operacja zakończy się niepowodzeniem.
Chociaż nie wspólne działanie indeksu online może spowodować zakleszczenie, gdy współdziała z aktualizacji bazy danych, z powodu działań użytkownika lub aplikacji.W rzadkich przypadkach Aparat baz danych programu SQL Server wybierze użytkownik lub aplikacja działalność jako ofiara zakleszczenie.
Można wykonywać operacje DDL równoczesnych indeksu online na tej samej tabela lub wyświetlać tylko podczas tworzenia wielu nowych zbudowania indeksów nie klastrowanych, lub reorganizacji zbudowania indeksów nie klastrowanych.Indeks online inne operacje wykonywane w tym samym czas się niepowodzeniem.Na przykład nie można utworzyć nowy indeks w trybie online podczas przebudowywania istniejący indeks online na tej samej tabela.
Zagadnienia dotyczące miejsca na dysku
Ogólnie wymagania dotyczące miejsca na dysku są takie same dla operacji indeksu online i offline.Wyjątek jest dodatkowe miejsce na dysku wymagane przez indeks tymczasowych mapowania.Ten tymczasowy indeks jest używany w operacji online indeksu, tworzenie, przebudować lub drop indeks klastrowany.Upuszczanie indeks klastrowany online wymaga tyle miejsca, jak tworzenie indeksu klastrowanego w trybie online.Aby uzyskać więcej informacji, zobacz Wymagania dotyczące miejsca na dysku dla operacji DDL indeksu.
Zagadnienia wydajności
Chociaż operacji online indeksu zezwolenia na działalność aktualizacji równoczesnych użytkowników, operacji indeksu będzie trwało dłużej, jeśli działanie aktualizacji jest bardzo ciężkie.Zazwyczaj operacji online indeksu będzie wolniejsze niż operacji równoważnego indeksu offline niezależnie od poziom aktywności współbieżnych aktualizacji.
Ponieważ zarówno źródło i struktur miejsce docelowe są zachowywane podczas operacji online indeksu reźródło zwiększa obciążenie dla insert, update i delete transakcji, potencjalnie do podwójnej.Może to spowodować spadek wydajności i większe obciążenie zasób, szczególnie czas Procesora, podczas operacji indeksu.Rejestrowane są całkowicie operacji online indeksu.
Chociaż zaleca operacji online należy ocenić środowiska i szczególne wymagania.Może być optymalny uruchomić operacje indeks w trybie offline.W ten sposób użytkownicy mają ograniczony dostęp do danych podczas operacji, ale operacja zakończy się szybciej i wykorzystuje mniej zasobów.
Na komputerach wieloprocesorowych, które są uruchomione SQL Server przedsiębiorstwa, indeks instrukcja może używać więcej procesorów do skanowania i sortowania operacje związane z instrukcja index, podobnie jak inne wykonania kwerendy.Opcja Indeks MAXDOP można kontrolować liczbę procesorów dedykowany operacji indeks w trybie online.W ten sposób można saldo zasobów, które są używane przez operację indeksu z tymi równoczesnych użytkowników.Aby uzyskać więcej informacji, zobacz Konfigurowanie operacji równoległych indeksu.
Ponieważ blokada s lock lub Sch-M jest używana w ostatniej fazy operacji indeksu, należy zachować ostrożność podczas wykonywania operacji wewnątrz transakcji jawnej użytkownika, takich jak rozpoczęcie transakcji online indeksu...ZATWIERDŹ blok.Wykonanie tej czynności powoduje blokada utrzymywane do czasu zakończenia transakcji, dlatego utrudnienia współbieżność użytkownika.
Uwagi dotyczące dziennika transakcji
Indeks skalę działania, wykonywane w trybie offline lub online, można generować danych dużych ładunków, które mogą spowodować szybkie zapełnienie dziennika transakcji.Aby upewnić się, że operacja indeksu można wycofać, transakcji dziennika nie może być obcięta, aż operacja indeksu została ukończona; Dziennik można jednak kopii zapasowej podczas operacji indeksu.Dlatego dziennik transakcji muszą mieć wystarczająco miejsca do przechowywania transakcji operacji indeksu i wszelkie transakcje równoczesnych użytkowników na czas trwania operacji indeksu.Aby uzyskać więcej informacji, zobacz Miejsce na dysku dziennika transakcji dla operacji indeksu.
Zobacz także