Wskazówki dotyczące projektowania indeks nieklastrowany
Indeks nieklastrowany zawiera wartości kluczy indeksu i locators wierszy, które wskazują na lokalizacja przechowywania danych tabela.Aby uzyskać więcej informacji dotyczących architektury indeks nieklastrowany zobacz Struktury indeks nieklastrowany.
Można utworzyć wiele ponownego zbudowania indeksów nie klastrowanych na tabela lub widok indeksowany.Ogólnie rzecz biorąc ponownego zbudowania indeksów nie klastrowanych powinny być zaprojektowane w taki sposób, aby poprawić wydajność kwerendy często używanych, które nie są objęte indeksem klastrowanym.
Podobnie jak korzysta się z indeksu w książce, optymalizator kwerendy wyszukuje wartości danych, przeszukując indeks nieklastrowany tak, aby znaleźć lokalizację wartości danych w tabela i następnie pobiera dane bezpośrednio z tej lokalizacji.W ten sposób ponownego zbudowania indeksów nie klastrowanych optymalny wybór do dokładnego odpowiednika kwerendy, ponieważ indeks zawiera wpisy opisująca dokładną lokalizację w tabela wartości danych, przy czym wyszukiwany w kwerendach.Na przykład, aby kwerendy HumanResources.Pracownika używania indeks nieklastrowany tabela dla wszystkich pracowników, którzy podlegają określonym menedżera, optymalizator kwerendyIX_Employee_ManagerID; this has ManagerID w swojej kolumnie klucz.optymalizator kwerendy można szybko znaleźć wszystkie wpisy w indeksie, które odpowiadają określonym ManagerID.Każdy wpis indeksu punktów dokładnie strona i wierszy w tabela lub indeks klastrowany, w którym znajdują się odpowiednie dane.Po optymalizator kwerendy wyszukuje wszystkie zapisy w indeksie, można przejść bezpośrednio do strona dokładne i wiersza do pobierania danych.
Uwagi dotyczące bazy danych
Podczas projektowania ponownego zbudowania indeksów nie klastrowanych, należy wziąć pod uwagę właściwości bazy danych.
Bazy danych lub tabele z aktualizacji niskie wymagania, ale dużą ilość danych może korzystać z wielu nieklastrowany indeksy, aby poprawić wydajność kwerendy.Należy rozważyć utworzenie filtrowane indeksów dla dobrze podzbiorów danych, aby poprawić wydajność kwerendy, zmniejszenie kosztów magazynowania indeksu i zmniejszyć koszty obsługi indeksu w porównaniu z tabela pełnej nieklastrowany indeksów.
Aplikacje systemu obsługi wspomaganie decyzji i baz danych, które zawierają głównie dane tylko do odczytu mogą korzystać z wielu ponownego zbudowania indeksów nie klastrowanych.optymalizator kwerendy ma więcej indeksy do wyboru do określenia najszybszą metoda dostępu, a właściwości niskie aktualizacji bazy danych oznaczają, konserwacji indeksu nie będzie przeszkadzać w wydajności.
Over-indexing należy unikać online aplikacji przetwarzania transakcji i baz danych, które zawierają tabele silnie zaktualizowane.Ponadto indeksy powinny być wąskie, oznacza to, w jak najmniejszej liczbie kolumn jak to możliwe.
Dużej liczby indeksów w tabela mają wpływ na wydajność, INSERT, UPDATE, DELETE, a MERGE instrukcji, ponieważ wszystkie indeksy muszą być odpowiednio dostosowane jako dane w tabela zmiany.
Uwagi dotyczące kwerendy
Przed utworzeniem ponownego zbudowania indeksów nie klastrowanych, należy zapoznać się z danych będzie dostępna.Należy wziąć pod uwagę przy użyciu nieklastrowany indeks dla kwerendy, które mają następujące atrybuty:
Za pomocą klauzul łączyć lub GROUP BY.
Utwórz wiele indeksów nieklastrowany na kolumnach biorących udział w operacji grupowanie i łączyć, a indeks klastrowany na kolumny klucz obcy.
Kwerendy, które nie zwracają dużych wyniku zestawów.
Utworzyć indeksy filtrowanych do obsługi kwerend zwracających dobrze podzbiór wierszy z tabela duże.
Zawiera często biorących udział w warunkach wyszukiwania kwerendy, takie jak klauzula WHERE, które zwracają dokładne odpowiedniki kolumn.
Uwagi dotyczące kolumna
Należy wziąć pod uwagę kolumny, które zawierają jeden lub więcej z tych atrybutów:
Obejmuje kwerendy.
Wzrost wydajności są osiągane przy indeks zawiera wszystkie kolumny w kwerendzie.optymalizator kwerendy można znaleźć wartości kolumn w indeksie, indeks klastrowany danych lub tabela nie można uzyskać dostępu do co mniejszej liczby operacji We/Wy dysku.Za pomocą indeksu z kolumnami dołączone dodać kolumny obejmujące zamiast tworzenia klucz szeroki indeksu.Aby uzyskać więcej informacji zobaczIndex with Included Columns.
Jeśli tabela ma indeks klastrowany, kolumna lub kolumna, które zdefiniowano w indeks klastrowany są automatycznie dołączane na końcu każdego indeks nieklastrowany w tabeli.Może być objęte kwerendy bez określenia kolumn indeks klastrowany w definicji indeks nieklastrowany.Na przykład, jeśli tabela ma indeks klastrowany na kolumna C, nieklastrowany indeks w kolumnach B and A będą używały jako swojej kolumna wartości klucz B, A, and C.
Wiele różnych wartości, takich jak kombinacja ostatniego nazwiska i imienia, jeśli używana jest indeksem klastrowanym dla pozostałych kolumn.
W przypadku bardzo małą liczbę różnych wartości, takie jak tylko 1 i 0, większość kwerend nie wykorzysta indeksu, ponieważ skanowanie tabela jest zazwyczaj bardziej wydajny.Dla tego typu danych należy wziąć pod uwagę tylko tworzenie filtrowane indeksu na różne wartości, które występuje w niewielkiej liczby wierszy.Na przykład jeżeli większość wartości 0, optymalizator kwerendy może używać indeksu filtrowanych do wierszy danych, które zawierają 1.
Opcje indeksowania
Istnieje kilka opcji indeksu, który może być określony, tworzony jest indeks nieklastrowany.Należy nadać szczególną uwagę na następujące opcje:
FILLFACTOR
TRYB ONLINE
Aby uzyskać więcej informacji zobaczSetting Index Options.