SORU
30 Mart 2009, PAZARTESİ


MySQL: Çok tablo veya birçok veritabanı?

Bir proje için her zaman aynı yapıya sahip bir sürü veri var ve birbirine bağlı değildir. Verileri kaydetmek için iki yaklaşım vardır:

  • Her havuz için yeni bir veritabanı (yaklaşık 15-25 tablo) oluşturma
  • Bir veritabanındaki tüm tablolar oluşturma ve tablo adları ile havuzları farklı.

Hangisi daha kolay ve daha hızlı MySQL için hallederim?

DÜZENLEME:Veritabanı tasarımı konularında interessed değilim, sadece daha hızlı olduğu interessed ediyorum.

EDİT 2:Bunu daha açık hale getirmek için çalışacağız. Tarihi bazı nadiren birlikte farklı havuzlarda nereye ait veriler olacak " dedi. Bir tabloda bir türü Tüm veri yerleştirme ve havuzu kimliği ile bağlama iyi bir fikir değildir:

  • Sabit yedekleme/özel bir havuz ve bir süre büyük int kullanmak bile) sonra birincil anahtar tükeniyor bekliyoruz) silin

Fikir her havuz için bir veritabanı veya bir veritabanında tablolar bir sürü oluşturmak için. Veritabanında sorgular, P basit olacak inserts. 49% bazı basit birincil anahtar selects olacak.

Bu soru, daha hızlı MySQL için işlemek nedir? Çok tablo veya birçok veritabanı?

CEVAP
8 NİSAN 2009, ÇARŞAMBA


Ayrı veritabanları karşı birden fazla tabloyu tek bir veritabanında birden fazla tablo arasında önemli bir performans farkı olmalı.

MySQL, (standart SQL dönem "şema") esas tablo için bir ad olarak hizmet veriyor. kullanan veritabanları Bir veritabanı sadece birkaç özellikler, örneğin varsayılan karakter seti ve harmanlama. Ve GRANT kullanımı kolay veritabanı başına erişim ayrıcalıklarını kontrol etmek için yapar, ama bu performans ile bir ilgisi yok.

Tek bir bağlantı (MySQL Sunucusu aynı örnek tarafından yönetilen olmaları koşuluyla) herhangi bir veritabanında tablolar erişebilirsiniz. Sadece tablo adını nitelemek için:

SELECT * FROM database17.accounts_table;

Bu tamamen sözdizimsel bir fark var. Performansı üzerinde hiçbir etkisi olmaz.

Depolama ile ilgili olarak, dosya başına veritabanı @Chris söylediklerinin bir tablo düzenleyebilirsiniz. Hali hazırda bir depolama motoru olan, her zaman her tablo için bir dosya var. İle, Bunu saklama altyapısı, sana da bir tek küme depolama dosyaları birleşmek tüm tablolar veya başka bir dosya başına tablo (bunun için yapılandırılan tüm MySQL sunucusu, başına veritabanı). Her iki durumda da, karşı birçok veritabanı tek bir veritabanı tablo oluşturma performans avantajı ya da dezavantajı yok.

Başına veritabanı çalışan birçok MySQL yapılandırma parametreleri yok. Sunucu performansını etkileyen en parametreleri kapsamında server-wide.

Yedekleme ile ilgili, mysqldump komut için bağımsız değişken olarak bir alt kümesini bir tablo belirtebilirsiniz. Veritabanı başına tabloları mantıksal olarak ayarlar yedeklemek için daha uygun, komut satırı tüm tabloları adı zorunda kalmadan olabilir. Ama performans, yedekleme komutu girdiğinizde size sadece kolaylık için fark yapmak gerekir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BrandonHarrisWalker

    BrandonHarri

    27 Kasım 2006
  • dougownsall

    dougownsall

    7 EKİM 2007
  • eHow

    eHow

    27 NİSAN 2006