SORU
12 NİSAN 2010, PAZARTESİ


Neden ölçülebilirlik göz önüne alındığında kötü katılır mısınız?

Kötü birleşimler neden ya da 'yavaş'. Bu daha sonra bir kez duydum biliyorum. Bir cümle buldum

Sorun nispeten birleştirmeler. yavaş, özellikle çok büyük veri eğer yavaş iseniz ayarlar, ve web sitesi yavaş. Uzun bir zaman alır tüm bu ayrı bit olsun hakkında disk ve koy hepsini tekrar bir arada.

source

Ben her zaman bir PK ararken özellikle hızlı olduğunu düşündü. Neden onlar 'yavaş'?

CEVAP
12 NİSAN 2010, PAZARTESİ


İki ayrı veri kaynakları katılmadan nispeten yavaş, en azından onlara katılmak için karşılaştırılır. Ama alternatifi artık veri iki ayrı parça olması olduğunu unutmayın; aynı kaydı iki farklı veri noktaları koymak zorunda. Bir yerde bir sonucu olarak, ticaret-off anladığınızdan emin olun orada olmadan verilerin iki farklı parçaları birleştirebilirsiniz.

İyi haber, modern ilişkisel veritabanlarıiyiat katıldı. Gerçekten katılırsa iyi bir veritabanı gibi yavaş düşünmemelisin. Veritabanı ham katılır almak ve bunları yapmak için çeşitli yollar sunarçokdaha hızlı:

  • Bir yedek anahtar kimlik sütun/autonumer () doğal bir anahtar yerine katılın. Sırasında bunun anlamı daha küçük (ve bu nedenle) daha hızlı karşılaştırmalar birleştirme işlemi
  • Dizinler
  • Dizin oluşturulmuş görünümler (gibi düşünün önceden hesaplanmış katıl ya da ./hayata ^em>başardıde-normalleştirme)
  • Sütun hesaplanan. Bu karma kullanım veya başka bir yolla hesaplamak öncesi bir anahtar sütun karmaşık bir karşılaştırma için bir birleşim olacağını şimdi çok daha küçük ve ön endeksli potansiyel olduğunu katılmak gibi.
  • Tablo bölümleri (yük birden çok diske yayılan büyük veri setleri ile yardımcı olur)
  • (Pre-hesaplar/birleşim sorguları, bazı tür sonuçlar. OLAP Tam olarak doğru değil, ama bu gibi düşünebilirsinizjenerikdenormalization)

Bunu söyleyecek kadar ileri gitmek istiyorummevcut ilişkisel veritabanları yapmak izin vermek için ana nedeni etkin bir şekilde katıldı*. Kesinlikle yapılandırılmış veri (csv veya xml gibi düz dosya yapıları ile bunu yapabilirsin) depolamak için değil. Bir kaç seçenek listeledim bile izin tamamen yapı katılın önceden, yani sonuçlar çoktan önce sorun, sorgu somon somon gibi olsaydı normal dışı verileri (kuşkusuz maliyet daha yavaş yazma işlemi).

Sen yavaş katılmak varsa, muhtemelen doğru veritabanı kullanmıyorsun.

De-normalleştirme bu diğer teknikler başarısız sonra yapılmalıdır. Ve tek yolu gerçekten "hata" anlamlı performans hedefleri belirlemek ve bu hedeflere karşı önlem almaktır. yargıç Eğer ölçülen olsanız bile, bile de-normalleştirme düşünmek için çok erken.

* Diğer bir deyişle, varlık tabloları sadece koleksiyonlardan farklı olarak var. Gerçek bir veritabanı için ek bir neden güvenli eşzamanlı erişim.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Doc Adams

    Doc Adams

    20 HAZİRAN 2007
  • Professor Messer

    Professor Me

    27 NİSAN 2007
  • Sparta Spartanutul

    Sparta Spart

    18 HAZİRAN 2013