Belirtiler

Aşağıdaki senaryoyu düşünün:

  • Microsoft SQL Server veritabanında IS NULL sütun doðrulama deyimi ile birlikte filtre uygulanmış bir dizin oluşturun.

  • Sütun alanı dizin yapısında yer almaz. (Diğer bir deyişle, sütun alanına bir anahtar değil veya sütun filtre uygulanmış dizini tanımında dahil.)

Örneğin, aşağıdaki sorgu oluşturun:

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 


Bu sorgu aşağıdaki filtre uygulanmış dizin kullanmaz dikkat edin:

select count(*) from dbo.filter_test where action_date is null and action_type=1
Bu senaryoda, filtre uygulanmış dizin kullanılmaz. Bunun yerine, kümelenmiş dizin kullanılır.

Çözüm

Bu sorunu gidermek için döndürülen sütunlar NULL test edilmiş sütun içerir. Veya sütunları dizine eklemek gibi bu sütunu ekleyin.

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

Daha fazla bilgi

Aşağıdaki Microsoft Developer Network (MSDN) Web sitelerine bakın:

Filtre uygulanmış dizinler oluşturmak

Kümelenmiş ve kümelenmemiş dizinleri açıklanan

Daha fazla yardıma mı ihtiyacınız var?

Yeteneklerinizi geliştirin

Eğitimleri keşfedin >

Yeni özellikleri ilk olarak siz edinin

Microsoft Insider’a katılın >

Bu bilgi yararlı oldu mu?

Dil kalitesinden ne kadar memnunsunuz?
Deneyiminizi ne etkiledi?

Geri bildiriminiz için teşekkürler!

×