Bei Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Problembeschreibung

Betrachten Sie das folgende Szenario:

  • Erstellen einen gefilterten Index mit der Spalte ISTNULL Prädikatausdruck in Microsoft SQL Server.

  • Das Spaltenfeld ist in der Struktur nicht enthalten. (D. h. die Spalte Feld ist kein Schlüssel oder Spalte in dem gefilterten Indexdefinition enthalten.)

Erstellen Sie z. B. die folgende Abfrage:

CREATE UNIQUE CLUSTERED INDEX i_action_rn on dbo.filter_test (rn)  CREATE NONCLUSTERED INDEX i_action_filt_action_date_type ON dbo.filter_test (action_type) WHERE action_date IS NULL 


Beachten Sie, dass diese Abfrage nicht den gefilterten Index verwenden:

select count(*) from dbo.filter_test where action_date is null and action_type=1
In diesem Szenario wird der gefilterte Index nicht verwendet. Stattdessen wird der gruppierte Index verwendet.

Problemlösung

Um dieses Problem zu beheben, enthalten Sie die Spalte, die in der zurückgegebenen Spalten NULL getestet wird. Oder fügen Sie diese Spalte als Spalten in den Index aufgenommen.

CREATE NONCLUSTERED INDEX New_i_action_filt_action_date_type ON dbo.filter_test (action_type) include (action_date) WHERE action_date IS NULL

Weitere Informationen

Finden Sie in den folgenden Websites des Microsoft Developer Network (MSDN):

Gefilterte Indizes

Gruppierte und nicht gruppierte Indizes beschrieben

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern

Schulungen erkunden >

Neue Funktionen als Erster erhalten

MICROSOFT 365 INSIDERS BETRETEN >

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?

Vielen Dank für Ihr Feedback!

×