Freigeben über


index_option (Transact-SQL)

Aktualisiert: 05. Dezember 2005

Gibt eine Gruppe von Optionen an, die auf einen Index angewendet werden kann, der Teil einer mit ALTER TABLE erstellten Einschränkungsdefinition ist.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

{ 
    PAD_INDEX = { ON | OFF }
  | FILLFACTOR = fillfactor
  | IGNORE_DUP_KEY = { ON | OFF }
  | STATISTICS_NORECOMPUTE  = { ON | OFF }
  | ALLOW_ROW_LOCKS= { ON | OFF }
  | ALLOW_PAGE_LOCKS={ ON | OFF }
  | SORT_IN_TEMPDB = { ON | OFF } 
  | ONLINE = { ON | OFF }
  | MAXDOP = max_degree_of_parallelism
}

Argumente

  • PAD_INDEX = { ON | OFF }
    Gibt das Auffüllen von Indizes an. Die Standardeinstellung ist OFF.

    • ON
      Der Prozentsatz des mit FILLFACTOR angegebenen freien Speicherplatzes wird auf die Zwischenebenenseiten des Indexes angewendet.
    • OFF oder fillfactor ist nicht angegeben.
      Die Zwischenebenenseiten werden nahezu vollständig aufgefüllt, wobei jedoch ausreichend freier Speicherplatz verfügbar bleibt, um mindestens eine Zeile in der maximal für diesen Index gültigen Größe aufzunehmen, die sich aus der Schlüsselmenge auf den Zwischenseiten ergibt.
  • FILLFACTOR **=**fillfactor
    Gibt einen Prozentsatz an, der anzeigt, wie weit Datenbankmodul die Blattebene jeder Indexseite während der Indexerstellung oder -änderung füllen soll. Der angegebene Wert muss ein ganzzahliger Wert zwischen 1 und 100 sein. Der Standard lautet 0.

    ms186869.note(de-de,SQL.90).gifHinweis:
    Die Füllfaktorwerte 0 und 100 sind in jeder Hinsicht identisch.
  • IGNORE_DUP_KEY = { ON | OFF }
    Gibt an, welche Fehlermeldung angezeigt wird, wenn ein mehrzeiliger INSERT-Vorgang für einen eindeutigen gruppierten oder eindeutigen nicht gruppierten Index doppelte Schlüsselwerte aufweist. Die Standardeinstellung ist OFF.

    • ON
      Eine Warnmeldung wird ausgegeben, und nur die Zeilen, die den UNIQUE-Index verletzen, schlagen fehl.
    • OFF
      Es wird eine Fehlermeldung ausgegeben, und für die gesamte INSERT-Transaktion wird ein Rollback ausgeführt.
    ms186869.note(de-de,SQL.90).gifHinweis:
    IGNORE_DUP_KEY wirkt sich nicht auf UPDATE-Anweisungen aus.
  • STATISTICS_NORECOMPUTE = { ON | OFF }
    Gibt an, ob Statistiken neu berechnet werden. Die Standardeinstellung ist OFF.

    • ON
      Veraltete Indexstatistiken werden nicht automatisch neu berechnet.
    • OFF
      Die automatischen Aktualisierungen der Statistiken sind aktiviert.
  • ALLOW_ROW_LOCKS = { ON | OFF }
    Gibt an, ob Zeilensperren zulässig sind. Die Standardeinstellung ist ON.

    • ON
      Zeilensperren sind beim Zugriff auf den Index zulässig. Die Datenbankmodul bestimmt, wann Zeilensperren verwendet werden.
    • OFF
      Zeilensperren werden nicht verwendet.
  • ALLOW_PAGE_LOCKS = { ON | OFF }
    Gibt an, ob Seitensperren zulässig sind. Die Standardeinstellung ist ON.

    • ON
      Seitensperren sind beim Zugriff auf den Index zulässig. Die Datenbankmodul bestimmt, wann Seitensperren verwendet werden.
    • OFF
      Seitensperren werden nicht verwendet.
  • SORT_IN_TEMPDB = { ON | OFF }
    Gibt an, ob Ergebnisse in tempdb gespeichert werden sollen. Die Standardeinstellung ist OFF.

    • ON
      Die Zwischenergebnisse von Sortierungen, mit denen der Index erstellt wird, werden in tempdb gespeichert. Diese Option verringert u. U. den Zeitaufwand, der mit der Erstellung eines Indexes verbunden ist, wenn sich tempdb auf einem anderen Datenträgersatz befindet als die Benutzerdatenbank. Sie erhöht jedoch den Betrag an Speicherplatz, der während der Indexerstellung verwendet wird.
    • OFF
      Die Zwischenergebnisse von Sortierungen werden in derselben Datenbank wie der Index gespeichert.
  • ONLINE = { ON | OFF }
    Gibt an, ob zugrunde liegende Tabellen oder zugehörige Indizes für Abfragen und Datenänderungen während des Indexvorgangs zur Verfügung stehen. Die Standardeinstellung ist OFF.

    ms186869.note(de-de,SQL.90).gifHinweis:
    Eindeutige nicht gruppierte Indizes können nicht online erstellt werden. Dies schließt Indizes ein, die aufgrund einer UNIQUE- oder PRIMARY KEY-Einschränkung erstellt werden.
    • ON
      Lang andauernde Sperren werden nicht für die Dauer des Indexvorgangs aufrechterhalten. Während der Hauptphase des Indexvorgangs wird nur eine beabsichtigte gemeinsame Sperre (IS, Intent Share) auf der Quelltabelle aufrechterhalten. Auf diese Weise können Abfragen oder Aktualisierungen für die zugrunde liegende Tabelle oder die zugrunde liegenden Indizes fortgesetzt werden. Zu Beginn des Vorgangs wird nur für eine sehr kurze Zeitdauer eine gemeinsame Sperre (S, Shared) auf dem Quellobjekt aufrechterhalten. Am Ende des Vorgangs wird für eine kurze Zeitdauer eine gemeinsame Sperre (S, Shared) auf der Quelle aktiviert, wenn ein nicht gruppierter Index erstellt wird, oder es wird eine Schemaänderungssperre (SCH-M, Schema Modification) aktiviert, wenn ein gruppierter Index erstellt oder online gelöscht und wenn ein gruppierter oder nicht gruppierter Index neu erstellt wird. ONLINE kann nicht auf ON festgelegt werden, wenn ein Index auf einer lokalen temporären Tabelle erstellt wird.
    • OFF
      Tabellensperren gelten für die Dauer des Indexvorgangs. Ein Offlineindexvorgang, der einen gruppierten Index erstellt, neu erstellt oder löscht oder einen nicht gruppierten Index löscht, aktiviert eine Schemaänderungssperre (Sch-M) auf der Tabelle. Auf diese Weise wird der Benutzerzugriff auf die zugrunde liegende Tabelle für die Dauer des Vorgangs verhindert. Ein Offlineindexvorgang, der einen nicht gruppierten Index erstellt, aktiviert eine gemeinsame Sperre (S, Shared) auf der Tabelle. Dies verhindert Aktualisierungen der zugrunde liegenden Tabelle, lässt jedoch Lesevorgänge, wie beispielsweise SELECT-Anweisungen, zu.

    Weitere Informationen finden Sie unter Funktionsweise von Onlineindexvorgängen. Weitere Informationen zu Sperren finden Sie unter Sperrmodi.

    ms186869.note(de-de,SQL.90).gifHinweis:
    Onlineindexvorgänge sind nur in SQL Server 2005 Enterprise Edition verfügbar.
  • MAXDOP = max_degree_of_parallelism
    Setzt die Konfigurationsoption max degree of parallelism für die Dauer des Indexvorgangs außer Kraft. Weitere Informationen finden Sie unter max degree of parallelism (Option). Sie können mit MAXDOP die Anzahl der Prozessoren begrenzen, die bei der Ausführung paralleler Pläne verwendet werden. Der Höchstwert ist 64 Prozessoren.

    Mögliche Werte für max_degree_of_parallelism sind:

    • 1
      Unterdrückt die Ausführung paralleler Pläne
    • >1
      Begrenzt die Höchstzahl von Prozessoren in einem parallelen Indexvorgang auf die angegebene Zahl
    • 0 (Standard)
      Verwendet die tatsächliche Anzahl oder, je nach aktueller Systemauslastung, eine geringere Anzahl von Prozessoren

    Weitere Informationen finden Sie unter Konfigurieren von Parallelindexvorgänge.

    ms186869.note(de-de,SQL.90).gifHinweis:
    Parallele Indexvorgänge sind nur in SQL Server 2005 Enterprise Edition verfügbar.

Hinweise

Eine vollständige Beschreibung der Indexoptionen finden Sie unter CREATE INDEX (Transact-SQL).

Siehe auch

Verweis

ALTER TABLE (Transact-SQL)
column_constraint (Transact-SQL)
computed_column_definition (Transact-SQL)
table_constraint (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

05. Dezember 2005

Neuer Inhalt:
  • Der Definition der Option ONLINE Hinweis bezüglich eindeutiger nicht gruppierter Indizes hinzugefügt.