Udostępnij za pośrednictwem


Brak funkcja Indeksy — informacje

Brak funkcji indeksy używa obiektów dynamicznego zarządzania i Showplan zapewnienie informacji o brakujących indeksy, które mogą zwiększyć SQL Server kwerendy wydajności.

Components

optymalizator kwerendy generuje plan kwerend, analizuje, jakie są najważniejsze indeksy dla warunku określonego filtru.Najlepsze indeksów nie istnieją, optymalizator kwerendy generuje plan kwerend warunkami panującymi, ale nadal przechowywane są informacje o tych indeksów.Brak funkcji indeksów umożliwia dostęp do informacji o tych indeksów tak, aby zdecydować, czy powinny zostać wdrożone.

Brak funkcji indeksy składa się z następujących składników:

  • Zestaw obiektów dynamicznego zarządzania, które można wyszukiwać zwraca informacje o brakujących indeksy.

  • MissingIndexes Showplans XML, który skorelować indeksy, że optymalizator kwerendy uważa Brak w kwerendach, dla których nie ma elementu.

Składniki Brak funkcji indeksy omówiono szczegółowo w poniższych sekcjach.

Obiekty dynamiczne zarządzanie

Po uruchomieniu typowym obciążeniu na SQL Server, można pobrać informacji o brakujących indeksy przez badanie obiekty dynamiczne zarządzanie wymienione w poniższej tabela.Te obiekty dynamiczne zarządzanie są przechowywane w master bazy danych.

Dynamiczne zarządzanie obiektu

Informacje zwrócone

sys.dm_db_missing_index_group_stats (języka Transact-SQL)

Zwraca informacje zbiorcze dotyczące brakujące indeks grupy, na przykład, poprawę wydajności, które mogłyby zdobyte przez wykonania określonej grupie Brakujące indeksy.

sys.dm_db_missing_index_groups (języka Transact-SQL)

Zwraca informacje o określonej grupie Brakujące indeksy, takie jak identyfikator grupy i identyfikatory wszystkich brakujących indeksy, które są zawarte w tej grupie.

sys.dm_db_missing_index_details (języka Transact-SQL)

Zwraca szczegółowe informacje o brakujących indeksu; na przykład zwraca nazwę i identyfikator tabela, gdy indeks jest Brak, kolumna i typy kolumn tworzących powinny brakuje indeksu.

sys.dm_db_missing_index_columns (języka Transact-SQL)

Zwraca informacje o bazie danych kolumny tabela, w których brakuje indeksu.

Można użyć informacji zwracanych przez te obiekty dynamiczne zarządzanie narzędzia lub skrypty, które korzystają z informacji do generowania instrukcji DDL utwórz indeks implementujące Brak indeksy.

Spójność transakcji

Modyfikacje poszczególnych wierszy w tych obiektach dynamicznego zarządzania nie są transakcyjnie spójne.Oznacza to, że jeżeli kwerenda jest przerywana lub otaczający transakcja jest cofana, wierszy, które zawierają informacje o brakujących indeksów dla tej kwerendy pozostanie.

Obsługiwane są tylko całej transakcji.Punkty kontrolne i częściowego cofnięcia nie są obsługiwane.

Ostrzeżenie

Zmiana metadane dla tabela wszystkie brakujące informacje indeksu o tej tabela jest usuwany z tych obiektów dynamicznego zarządzania.Zmiany metadane tabela może wystąpić, gdy kolumna są dodane lub usunięte z tabela, na przykład lub podczas tworzenia indeksu na kolumnie tabela.

XML Showplan MissingIndexes Element

Aby skorelować kwerend z brakujących indeksy, które są identyfikowane w obiekcie dynamiczne zarządzanie wyniki, można wyświetlić MissingIndexes elementu XML Showplans.MissingIndexes Element przedstawiono w następującym przykładzie:

<ShowPlanXML…>

 <BatchSequence>

  <Batch>

   <Statements>

    <StmtSimple…>

     <StatementSetOptions… />

      <QueryPlan…>

       <MissingIndexes>

        <MissingIndexGroup Impact="22.8764">

         <MissingIndex Database="[ADVENTUREWORKS2008R2]" Schema="[Person]" Table="[Address]">

          <ColumnGroup Usage="EQUALITY">

           <Column Name="[PostalCode]" ColumnId="4" />

          </ColumnGroup>

          <ColumnGroup Usage="INEQUALITY">

           <Column Name="[ModifiedDate]" ColumnId="5" />

          </ColumnGroup>

          <ColumnGroup Usage="INCLUDE">

           <Column Name="[AddressLine1]" ColumnId="2" />

           <Column Name="[AddressLine2]" ColumnId="3" />

           <Column Name="[StateProvinceID]" ColumnId="1" />

          </ColumnGroup>

         </MissingIndex>

        </MissingIndexGroup>

       </MissingIndexes>

Informacje zawarte w MissingIndexes element może pomóc określić, jakie indeksy poprawiające wydajność określonej kwerendy opisanych w StmtSimple element, który obejmuje Transact-SQL instrukcja sobie.Następnie korzystając z informacji zwracana dla tego elementu, można napisać instrukcja DDL utwórz indeks.

Włączanie i wyłączanie funkcji brakujące indeksów

Brak funkcji indeksów jest domyślnie włączone.Formanty nie są udostępniane, aby włączyć lub wyłączyć lub zresetować tabele zwracane, gdy obiekty dynamiczne zarządzanie są sprawdzane.Gdy SQL Server jest ponownie uruchomiony, wszystkie brakujące informacje indeksu jest porzucane.

Tej funkcji można wyłączyć tylko w przypadku wystąpienie SQL Server uruchomiony przy użyciu - x argumentu z sqlservr narzędzie wiersza polecenia.Aby uzyskać więcej informacji, zobacz Sqlservr aplikacji.