Tabloya yinelenen girilmesini sağlamak için kullanılan Kompozit Birincil anahtar (4 sütundan oluşan) içeren bir tablo var. Şimdi bu tablodaki anahtarlara yabancı anahtar olarak başvurması gereken yeni bir tabloya ihtiyacım var.
Sorum şu ki arama hızları için hangi yaklaşım daha verimli:
1) 4 sütunu da içeren yeni tablo oluşturuyor ve hepsine yabancı anahtarda başvuruyor muyum?
veya
2) Birincil Anahtar tablosunda yeni bir kimlik sütunu oluşturuyor ve bunu yeni tabloda yabancı anahtar olarak mı kullanıyorum?
Bu veritabanı çok büyük miktarda veri tutması bekleniyor, bu yüzden şimdiye kadar her tabloda tutulan veri miktarını en aza indirmek amacıyla oluşturduk. Bunu göz önünde bulundurarak, her satır için 2 int sütun ve datetime sütunu kaydedeceğim için seçenek 2 en iyi yaklaşım olacaktır, ancak gereksizse arama süresini artırmaktan kaçınmak istiyorum.
INT IDENTITY
böyle bir durumda bir yedek anahtar (örneğin bir ) kullanmak istiyorsunuz - referans ve sadece soooooo bu tabloya katılmak çok daha kolay hale getirir. Yinelemeleri önlemek için , bu dört sütuna UNIQUE bir kısıtlama koyun . Ayrıca: dar birincil anahtarlar performans nedeniyle çok daha iyidir (kümeleme anahtarı olarak kullanılıyorlarsa)