Sorunuzun ilk bölümünü yanıtlamak için, Çok Sütunlu Dizinler Hakkında Öznitelik Dizinleri Oluşturma yardım dosyasındaki ek metne bakmanın yardımcı olacağını düşünüyorum.
Alanların çok sütunlu bir dizinde görünme sırası önemlidir. B sütunundan A sütununun bulunduğu çok sütunlu bir dizinde, ilk aramayı yürütmek için A sütunu kullanılacaktır. Ayrıca, böyle bir indeks sadece A sütununu içeren sorgular için sadece B sütununu içeren sorgular için çok daha yararlı olacaktır.
A ve B'de çok sütunlu bir dizin oluşturun. Bu dizin, her iki sütunu da içeren sorgular için genellikle daha verimli olur. Yalnızca A'yı içeren sorgular için, bu dizin yalnızca A'daki bir dizinden daha yavaş olacaktır. Bu dizin yalnızca B'yi içeren sorgular için çok az işe yarar. Telafi etmek için B üzerinde ek bir dizin oluşturabilirsiniz.
Bu pasajların her ikisi de çok sütunlu indekslerin özel kullanım için daha iyi olduğunu göstermektedir. Ayrıca, dahil edilen sütunlardan yalnızca birini sıralamak için böyle bir dizin kullanmak aslında performansa zarar verebilir. Bu nedenle, çok sütunlu bir dizinde yer alan özelliklerin her biri için ayrı sütun dizinlerinin gerekli olması muhtemeldir.
ESRI tarafından Kişisel GDB üzerinden bir Dosya seçmenin 9 nedenini belirten eski ama ilginç bir belgeye bağlantı buldum . Performansı özel bir neden olarak belirtmesi ilginçtir. Bu performans kazancının bir kısmı dosya tabanlı depolama sisteminden kaynaklanmaktadır. Bunun çok sütunlu destek eksikliğine de yol açabileceğini düşünüyorum. Tek bir dosya olan Kişisel GDB'den farklı olarak, Dosya GDB'sindeki bir dizin GDB yapısında ayrı bir dosya olarak saklanır. Bu, belirli bir özellik sınıfı için dizin dosyasının ve öznitelik dosyasının birbirine bağlanması ve bunlara erişilmesi gerektiği anlamına gelir. Çok sütunlu bir dizinin, dizin ve öznitelik dosyaları arasında ileri geri atlamaya neden olabileceğini ve potansiyel olarak dizin oluşturma performans kazancından ağır basan bir performans vuruşuna neden olabileceğini görebiliyordum.
Kişisel GDB üzerinden GDB Dosyası ile önemli performans artışları olduğundan, muhtemelen çok sütunlu dizini uygulamaya değmez.
Her iki GDB türü ile çalışma deneyimimde, Kişisel GDB'nin dosyadan yaklaşık% 50 daha büyük çalıştığını gördüm. GDB Dosyanızla ilgili verdiğiniz verilere dayanarak, bir PGDB'ye dönüştürürseniz büyük olasılıkla ~ 300MB'lık Kişisel GDB elde edersiniz. Gördüğüm kadarıyla, hem ESRI ürünlerinde hem de ayrı ayrı MS Access veritabanlarıyla çalışmak, ".mdb" dosyaları 100 MB'ın üzerinde önemli ölçüde arttığında performans düşüşünü görmeye başlamanızdır.
Diğer bir sorun, öznitelik aramalarınızı hızlandırabilseniz bile, veri çerçevesinde hareket etme ve görünümü yenileme ile ilgili büyük bir performans isabeti görmenizdir. Katman bir PGDB içinde olsaydı hızlı çizmezdi. Coğrafi Veri Tabanı Türlerini karşılaştıran bu makale , performans farklılıkları hakkında daha fazla bilgi vermektedir.
Birçok şeyde olduğu gibi, en iyi seçim nihayetinde kullanım durumunuza göre kaybolacaktır. Access arabiriminde yapabileceğiniz sorgu ve güncelleştirme gibi veritabanına özgü çok sayıda işlem varsa, Kişisel GDB daha iyi olabilir. Yalnızca bazı sorgulamalar yapmayı planlıyorsanız, ancak öncelikle uzamsal verileri görselleştirecekseniz, performans kesinlikle GDB Dosyasının yanına düşer.