En sık kullanılan görünümlerimizden bazılarında performansı artırmak için Dizine Eklenmiş Görünümleri kullanmayı düşünüyorum.
Ancak Dizine Alınmış Görünümler, veritabanı yapısının geri kalanı tarafından belirlenen önceliğe biraz karşı çıkan benzersiz olmayan kümelenmiş dizinleri desteklemez.
Örneğin, işte birkaç tablomuzun basitleştirilmiş bir versiyonu.
-Groups-
Group ID GroupName
-Users-
UserKey UserName FullName GroupID
Dizinler Groups.GroupID (Kümelenmemiş) ve Users.GroupID (Kümelenmiş) üzerindedir. Belirli bir gruptan en çok sayıda kullanıcı alınacağı için, Kullanıcılar tablosunda GroupID'de bulunan kümelenmiş anahtar alınır. Açıkçası, grup başına birden fazla kullanıcınız olacaktır, bu nedenle bu kümelenmiş dizin benzersiz değildir.
Bu, benzersiz olmayan bir kümelenmiş dizine sahip olamadığım için, bu örnek gibi görüşlerimi dizine eklerken bu önceliğin nasıl takip edileceğinden biraz emin olmamı sağlıyor.
ConsumableID ConsumableVariantID AllowThresholdOverwrite FullPath GroupID ManufacturerID Type ModelID
101 29 1 0.1.2.4. 4 3 3 2
Aslında, bu Görünümde her zaman benzersiz olacak tek değer ConsumableID sütunu olduğundan, dizinimi nereye yerleştireceğim konusunda çok az seçeneğim kalmadı.
Görünümler, normal tablolar neden benzersiz olmayan kümelenmiş dizinlere neden izin vermiyor?
(GroupID, UserID)
. Anahtar için kendinizi tek bir sütunla sınırlamayın. 2 - Bir görünümün sınırlamasının, bunun satırların NC dizinlerine kolayca bağlanması gereken tamamlayıcı bir veri nesnesi olması nedeniyle hayal ediyorum. Bir tablo için, benzersiz olmayan CI anahtarı ona bir int eklenir, ancak bunun gerçek bir tablo değil, ancak gerçek bir tablo YANSITMASI gerektiğinden dizinli bir görünüm ile daha zor olacağını düşünüyorum.