Evet, yarar, dizinin bir bölümünde sorgulamak istediğinizde gelir. Kısmen kullanılan tahminleri ilk olarak koyarsanız, dizin, bu tahminleri içeren sorgular için kullanılabilir, ancak dizindeki tüm sütunları içermez.
Ayrıca, başka gereksinimleriniz yoksa, en seçici tahminleri ilk sıraya koymaya yardımcı olabilir, çünkü bu, dizin arama işlemlerini daha hızlı kesebilir.
Senin durumunda IDX_2
mutlaka yedekli masaya sorguları niteliğine bağlı değildir. Ancak, tüm sütunları dahil etmek gerekli olmayabilir. Örneğin, sen tarafından sorguları bir sürü yaparsanız location
ve date
sonra IDX_2
olarak bu sorgular yardım kararlılığının yararlı olabilir IDX_1
bunun için yararlı olduğu doğru sırayla değil. Ancak item
bunun gereksiz olduğunu görebilirsiniz IDX_2
.
9i'den itibaren Oracle, sondaki dizin sütunlarının daha verimli bir şekilde sorgulanabileceği bir "atlama taraması" operatörü tanıttı ve bu da bu tür ek dizinlere olan ihtiyacı azaltabilir.
Daha spesifik bir durumda, sorgulama eğer item
tarafından location
ve date
masanın bir şey okumak zorunda kalmadan sonra sorgu dizinden tamamen olsa çözülebileceğini başka sütunları gerekmez. Ayrıca, dizine eklenmemiş sütunlar içeren kaplama dizinleri de oluşturabilirsiniz. Gerekli sütunların tümü kaplama dizininden çözülebiliyorsa, sorgunun ana tabloya hiç dokunması gerekmez.
Son olarak, son sorunuza cevap olarak: Çok fazla kaynak tüketen ve bir dizin kullanarak ayarlanabilen düzenli olarak kullanılan bir dizi sorgunuz varsa, kesinlikle dikkate almaya değer. Ancak, dizinleri korumak ekler üzerinde bir ek yük ile gelir, bu nedenle sorgu performansını ekleme veya güncelleme işlemlerinde dizinlerin yerleştirdiği ek yüke karşı takas etmeniz gerekir.