Index Design Basics

Źle skonstruowane indeksy i brak indeksy są podstawowym źródeł wąskich gardeł związanych z bazy danych aplikacji.Projektowanie efektywne indeksów jest znaczenie do osiągnięcia dobrej bazy danych i wydajność aplikacji.Zaznaczenie prawym indeksów dla bazy danych i ich obciążenie pracą jest złożona działania równoważenia między szybkością kwerendy i aktualizacja kosztów.Indeksy wąskie lub indeksy z kilku kolumn w kluczu indeks wymaga dysku dodatkowe miejsce i konserwacji.Szeroki indeksów z drugiej strony, obejmują więcej kwerend.Czasami trzeba wypróbować kilka różnych wzorów przed znalezieniem najefektywniejsze indeksu.Indeksy mogą być dodawane, zmodyfikowany lub usunięty bez wpływu na projekt bazy danych w schemacie lub aplikacji.Dlatego nie powinno możesz wypróbować różne indeksów.

optymalizator kwerendy w SQL Server niezawodne wybiera najbardziej skutecznym indeksu w w większości przypadków. Ogólnej strategii projektu indeks powinien zapewnić różnych indeksy dla optymalizator kwerendy do wybierać i ustanawiania zaufania do podejmowania decyzji w prawo.To pozwala skrócić czas analizy i zapewnia dobrą wydajność w różnych sytuacjach.Aby zobaczyć, które indeksy optymalizator kwerendy używa dla określonej kwerendy w SQL Server Management Studio, na Kwerendy Wybierz opcję menuZawierają rzeczywiste plan wykonanie.Aby uzyskać więcej informacji zobaczHow to: Display an Actual Execution Plan.

Nie zawsze równe użycie indeksu z dobrą wydajność i dobrą wydajność przy użyciu efektywnego indeksu.Jeśli używany indeks pomogła zawsze uzyskać najlepszą wydajność, zadanie optymalizator kwerendy jest proste.W rzeczywistości jest wyborem nieprawidłowy indeks może być przyczyną mniej niż optymalną wydajność.Dlatego zadania optymalizator kwerendy jest do wybierania indeksu lub kombinacja indeksów, tylko wtedy, gdy będzie to poprawić wydajność, a w celu uniknięcia indeksowanych pobierania, gdy będzie to zmniejszyć wydajność.

Indeks Projektuj zadania

Następujące zadania tworzą naszych zalecana strategia projektowania indeksów:

  1. Omówienie właściwości z samej bazy danych.Na przykład jest to transakcja online przetwarzanie bazy danych (OLTP) ze zmianami danych często system obsługi wspomaganie decyzji (DSS) lub danych, magazynowania bazy danych (OLAP), który zawiera głównie dane tylko do odczytu?Aby uzyskać więcej informacji zobaczOnline Transaction Processing vs. Decision Support.

  2. Zrozumienie charakterystyki najczęściej często używanych kwerend.Na przykład wiedząc, że często używanych kwerendy sprzężenia dwóch lub większej liczby tabel pomoże określić najlepszy typ indeksy, aby użyć.Aby uzyskać więcej informacji zobaczGeneral Index Design Guidelines.

  3. Omówienie właściwości kolumn, używanych w kwerendach.Na przykład indeks jest idealnym rozwiązaniem dla kolumny danych typu Liczba całkowita, są także unikatowe lub niepustych kolumn.Filtrowane indeksu jest odpowiednia dla kolumny, które mają dobrze podzbiór danych.Aby uzyskać więcej informacji zobaczWskazówki dotyczące projektowania indeks filtrowane.

  4. Określa, jakie opcje indeksu może zwiększyć wydajność, gdy indeks jest utworzona lub utrzymana.Na przykład Tworzenie indeks klastrowany w istniejącej tabela dużych będzie korzystać z opcji indeksowania ONLINE.Opcja ONLINE umożliwia równoczesnych operacji na danych źródłowych do kontynuowania podczas indeks utworzony lub ponownie zbudowana.Aby uzyskać więcej informacji zobaczSetting Index Options.

  5. Określa lokalizacja przechowywania optymalne dla indeksu.Indeks nieklastrowany mogą być przechowywane w tym samym grupa plików, w tabela podstawowej lub na inną grupa plików.lokalizacja przechowywania indeksów może poprawić wydajność kwerendy przez zwiększenie wydajności We/Wy dysku.Na przykład przechowywać indeks nieklastrowany na grupa plików, w której znajduje się na innym dysku niż grupa plików, w tabela może zwiększyć wydajność, ponieważ wiele dysków, mogą być odczytywane w tym samym czasie.Aby uzyskać więcej informacji zobaczPlacing Indexes on Filegroups.

    Indeksy klastrowane i nieklastrowany może też korzystać schemat partycji w wielu filegroups.partycjonowanie tworzy dużych tabel lub indeksy łatwiejsze w obsłudze przez co pozwala na dostęp lub zarządzać podzbiory danych szybko i efektywnie, zachowując jednocześnie integralność ogólną kolekcja.Aby uzyskać więcej informacji zobaczTabele podzielonym na partycje i indeksów.Jeśli uważasz, że partycjonowanie, należy określić, czy indeks powinien być wyrównany, oznacza to, podzielony na partycje w istocie taki sam sposób, jak w tabela lub podzielony na partycje, niezależnie.Aby uzyskać więcej informacji zobaczSpecial Guidelines for Partitioned Indexes.

Aby uzyskać więcej informacji na temat tych zadań zobacz General Index Design Guidelines.