Bu web sitesinden dizinlerle ilgili Sorular ve Cevapları okuduktan sonra aklıma bir soru geldi.
Ya, daha düşük ayrıntı düzeyi gün olan bir zaman boyutu tablosu kullanıyorsa. Endeksleri nereye koymalı?
Sorudaki Randy Melder: “index” RDBMS'de ne anlama geliyor? dedim :
Bir dizini "içindekiler" olarak düşünün.
Zaman boyutu söz konusu olduğunda, zaman tablosu benzersiz bir yıl boyunca tüm günü saklıyorsa, çoğu veri araştırması belirli bir gün, belirli bir hafta, belirli bir ay veya belirli bir çeyrek için yapılabilir .
Sorum şu: Tüm bu alanlar için indeks konulmalı mı?
Günün benzersiz olduğunu varsayalım, bu yüzden bunun için dizinlerin kullanımını mükemmel bir şekilde anlıyorum. Ancak bir hafta kimliği 7 , bir aylık kimliği 30/31 , bir çeyrek kimliği az veya 120 kez olur .
- Bu alanlar için hala indeks konulmalı mı?
- Yine de faydalı olacak mı?
Size şunu soruyorum çünkü aynı soruda David Spillett şunları söyledi:
Çok fazla dizin eklemek elbette kötü bir optimizasyon olabilir, çünkü dizinleri depolamak için kullanılan fazladan alan (ve DB'niz birçok yazma işlemi görürse bunları korumak için IO yükü) biraz daha az optimum okuma sorgularından daha kötü bir sorun olabilir , bu yüzden aşırı yapma.
Peki zaman boyutu vakası için en iyi düşünceler nelerdir?