Udostępnij za pośrednictwem


Placing Indexes on Filegroups

Jak opracowywania strategii projektu indeksu, należy wziąć pod uwagę położenie indeksy w filegroups, skojarzonymi z bazą danych.Staranne zaznaczenia grupa plików lub partycję systemu może zwiększyć wydajność kwerendy.

Domyślnie indeksy są przechowywane w tym samym grupa plików, jak w tabela bazowa, na którym tworzony jest indeks.Nonpartitioned indeks klastrowany i tabela bazowa zawsze znajdują się w tym samym grupa plików.Jednak można wykonywać następujące czynności:

  • Utwórz ponownego zbudowania indeksów nie klastrowanych na grupa plików w innych niż grupa plików, w tabela bazowa.

  • Indeksy klastrowane i nieklastrowany ma się rozciągać się na wielu filegroups podzielić na partycje.

  • Przenoszenie tabela z jedną grupa plików do innej upuszczanie indeks klastrowany i określając nową grupa plików lub schemat partycji w MOVE do klauzula instrukcja DROP INDEX lub, za pomocą instrukcja CREATE INDEX z klauzula DROP_EXISTING.

Tworząc indeks nieklastrowany na inną grupa plików, można osiągnąć zyski wydajności filegroups korzystający z własnych kontrolerów różnych dyskach fizycznych.Następnie można odczytać informacji o danych i indeks równolegle za pomocą wielu głowic dysku.Na przykład jeśli Table_A na grupa plików F1 and Index_A na grupa plików F2 są jednocześnie używane przez tę samą kwerendę, wzrost wydajności można osiągnąć, ponieważ oba filegroups są całkowicie używany bez rywalizacja.Jednak jeśli Table_A skanowany za pomocą kwerendy, ale Index_A nie jest używany, tylko grupa plików F1 jest używany.Spowoduje to utworzenie nie przyrost wydajności.

Ponieważ nie można przewidzieć wystąpi, jakiego typu dostęp i gdy wystąpi, może to być lepszych decyzji o umieszczonych na wszystkich filegroups z tabel i indeksów.Czy to gwarantuje, że wszystkie dyski są są dostępne, ponieważ wszystkie dane i indeksy są równomiernie na wszystkich dyskach, niezależnie od tego, z których sposób uzyskiwania dostępu do danych.Jest to również prostsze rozwiązanie dla administratorów systemu.

Partycje na wiele Filegroups

Można również rozważyć możliwość partycjonowanie między wieloma filegroups indeksów klastrowanych i nieklastrowany.Indeksy podzielonym na partycje są podzielone na partycje w poziomie lub po wierszu, w zależności od funkcja partycji.Funkcja partycjonowanie definiuje, jak każdy wiersz jest mapowane na zestaw partycjonowanie, na podstawie wartości niektóre kolumny o nazwie kolumny partycjonowanie na partycje.A schemat partycji Określa, że obowiązuje mapowanie do partycji do zbioru filegroups.

Partycjonowanie indeks może przynieść następujące korzyści:

  • Zapewniają skalowalność systemów, które należy łatwiejsze w obsłudze dużych indeksów.Systemy OLTP, na przykład, można zaimplementować partycji aplikacji traktujących o dużych indeksów.

  • Należy uruchomić szybciej i wydajniej kwerendy.Kiedy kilka partycji indeksu uzyskać dostęp do kwerendy, optymalizator kwerendy może przetwarzać indywidualnych partycji w tym samym czas i wykluczyć partycji, która nie jest narażony na kwerendę.

Aby uzyskać więcej informacji zobaczTabele podzielonym na partycje i indeksów.

Aby utworzyć nowy indeks dla określonych grupa plików

TWORZENIE INDEKSU

Aby przenieść istniejący indeks lub spis inną grupa plików

Jak Przenieść istniejący indeks do różnych grupa plików (SQL Server Management Studio)

USUWANIE INDEKSU PRZENIESIENIE DO

TWORZENIE INDEKSU Z DROP_EXISTING