performansının düşmesine başlamadan önce ne kadar büyük bir MySQL veritabanı alabilirsiniz

oy
253

Hangi noktada bir MySQL veritabanı performansını kaybetmeye başlar?

  • Fiziksel veritabanı boyutu önemli mi?
  • kayıtların sayısı önemli musunuz?
  • herhangi bir performans bozulması doğrusal ya da üstel mi?

Ben neredeyse 2GB kadar sürebilir kabaca 15M kayıtları ile büyük bir veritabanı, olduğuna inandıkları var. Bu rakamlara dayanarak, beni dışarı veri temizlemek için ya da ben birkaç yıldır ölçekleme devam etmesi için güvendeyim için herhangi bir teşvik var mıdır?

Oluştur 04/08/2008 saat 15:31
kaynak kullanıcı
Diğer dillerde...                            


13 cevaplar

oy
169

Fiziksel veritabanı boyutu önemli değildir. kayıtların sayısı önemli değil.

Tecrübelerime göre sen çalıştırmak için gidiyoruz en büyük sorun değil boyutu, ancak bir seferde işleyebilir sorgu sayısıdır. Büyük olasılıkla okuma sorguları köle ve efendi karşı koşmak yazma sorguları karşı çalıştırmak böylece bir efendi / köle yapılandırması taşınmak zorunda olacak. Henüz buna hazır değildir Ancak, her zaman size yanıt süreleri hızlandırmak için çalışan sorguları için endeksler çimdik. Ayrıca yardımcı olacaktır Linux ağ yığını ve çekirdeğe yapabileceği verdiği bir çok şey var.

Benimkini bağlantıların sadece ılımlı bir sayı ile, 10 GB'a kadar almak zorunda ve sadece iyi isteklerini ele.

Sonra, senin endeksler ilk odak senin OS bir sunucu yönetici görünüm olurdu ve bir efendi / köle yapılandırmasını uygulamaya zaman olabilir yardımcı olmuyor hepsi eğer.

Cevap 04/08/2008 saat 16:26
kaynak kullanıcı

oy
71

Genel olarak bu çok ince bir konudur ve her ne önemsiz değil. Ben okumanızı öneriyoruz mysqlperformanceblog.com ve Yüksek Performanslı MySQL . Gerçekten genel bir cevap bunun için olduğunu düşünüyorum.

Ben verilerin neredeyse 1 TB ile MySQL veritabanına sahip bir proje üzerinde çalışıyorum. En önemli ölçeklenebilirlik faktörü RAM. senin tabloların indeksleri belleğe sığacak ve sorguları oldukça optimize edilmiştir, bir ortalama makinesi ile istekleri makul miktarda hizmet edebilir.

kayıtların sayısı, tablo gibi görünmesini nasıl bağlı önemi var. Bu varchar alanlarının çok mu yoksa ints veya uzun ürün sadece bir çift var bir fark var.

hem veritabanı konularda fiziksel boyutu: Örneğin, yedekleme düşünüyorum. Senin motorun bağlı artışı suretiyle üzerindeki fiziksel db dosyaları ancak innodb ile örneğin çekmez. Yani fiziksel dosyaları küçültmek için yardımcı olmuyor, satırlar bir çok silme.

Orada bir sürü bu konulara olduğunu ve olguların bir sürü olarak şeytan ayrıntıda gizlidir.

Cevap 04/08/2008 saat 19:44
kaynak kullanıcı

oy
33

Veritabanı boyutu önemli değil . Eğer bir milyondan fazla kayıtları ile birden fazla tablo varsa, o performansının düşmesine gerçekten başlar. Kayıtların sayısı performansını etkiler elbette yapar: MySQL büyük tablolarda yavaş olabilir . Bir milyon kayıt vurursanız endeksleri ( "NEREDE ifadeleri" ya da "koşullar AÇIK" birleşimlerde örneğin alanlar için hiçbir indeksleri) doğru ayarlanmamış eğer performans sorunları alacak. 10 milyon kayıt vurursan tüm endeksler doğru olsa bile performans sorunları almaya başlayacaktır. Donanım yükseltmeleri - daha fazla bellek ve daha fazla işlemci gücü, özellikle bellek ekleyerek - genellikle en az belirli bir dereceye kadar, yine performansı artırarak en ağır problemleri azaltmaya yardımcı olur. Örneğin37 sinyalleri RAM 128 GB 32 GB RAM gitti Basecamp veritabanı sunucusu için.

Cevap 26/01/2012 saat 11:33
kaynak kullanıcı

oy
20

Ben senin OS bir sunucu yönetici göz daha, senin endekslerinde ilk odak ve olur ona yardım etmediğini hepsi bir efendi / köle yapılandırması için zaman olabilir eğer.

Bu doğru. Genelde işe yarar başka şey sadece tekrar tekrar kadar çalıştığı veri miktarını azaltmaktır. Eğer "Eski verileri" ve "yeni veri" ve sorgularının% 99 yeni verilerle çalışmak varsa, sadece başka bir masaya tüm eski veri taşımak - ve bakma;)

-> göz at bölümleme .

Cevap 11/08/2008 saat 20:19
kaynak kullanıcı

oy
19

2GB ve yaklaşık 15M kayıtlar çok küçük bir veritabanı - Bir Pentium III çok daha büyük olanları çalıştırmak ve senin bir veritabanı / uygulama tasarımı problemi değil, bir mysql yavaş ise her şey hala .. oldukça hızlı tükendi (!) bir.

Cevap 05/08/2010 saat 10:03
kaynak kullanıcı

oy
16

Bu biraz anlamsız "veritabanı performansı" hakkında konuşmak var, "sorgu performansı" Burada daha iyi bir terimdir. Cevap ise: Bunu kaç satır taranan olacak ve hangi dizinleri sözdizimi EXPLAIN ile kullanılabilir olacak hakkında bir fikir elde edebilirsiniz sorguda, ancak üzerlerinde işlem verilerine endeksler, donanım, vs. bağlıdır.

2GB gerçekten "büyük" veritabanı olarak sayılmaz - bir orta büyüklükte fazla.

Cevap 06/08/2008 saat 20:53
kaynak kullanıcı

oy
9

dikkate almak bir nokta da sistemin amacı ve günden güne de veridir.

Örneğin, otomobil GPS izleme ile sistem için önceki aylarda arabanın konumlarından ilgili sorgu verileri değil.

Bu nedenle veri olası danışma için diğer tarihi tablolar geçirilen ve gündüz sorgularına günün yürütme sürelerini azaltmak edilebilir.

Cevap 06/12/2012 saat 06:13
kaynak kullanıcı

oy
9

Bir keresinde "çalışmayı durdurdu" vardı bir mysql bakmak için başvuruldu. Ben DB dosyaları NFS2 ile ve maksimum 2GB dosya boyutu ile monte Bir Ağ Cihazı dosyalayıcıda üzerinde ikamet olduğunu keşfetti. Ve tabii ki, işlem kabul durmuştu tablo tam olarak diskte 2GB oldu. Ama performans eğrisi açısından Bunun doğru yukarı o hiç işe yaramadı kadar bir şampiyon gibi çalıştığını söyledi! Bu deneyim her zaman boyutları doğal şüpheli biri üstünde ve altında hep oradasın Bu hoş bir hatırlatma olarak benim için hizmet vermektedir.

Cevap 06/08/2008 saat 05:27
kaynak kullanıcı

oy
8

Karmaşık katılır için de dikkat edin. İşlem karmaşıklığı işlem hacmine ek olarak büyük bir faktör olabilir.

Ağır sorguları üstlenmeden bazen büyük bir performans artışı sunuyor.

Cevap 04/08/2008 saat 20:01
kaynak kullanıcı

oy
4

Şu anda 160 GB büyüdü Amazon'un bulut altyapısı üzerinde MySQL veritabanı idare ediyorum. Sorgu performansı gayet iyi. Ne kabus yedeklemeler, geri yükleme, ekleme köle veya büyük tablolarda bütün veri kümesi, hatta DDL ilgilenen başka bir şey olduğunu haline gelmiştir. Bir döküm dosyası temiz bir ithalat alma sorunlu hale gelmiştir. otomatikleştirmek için yeterince kararlı işlem yapmak için, gerekli çeşitli seçenekler performansı üzerindeki kararlılığını öncelik yapılacaktır. Biz hiç bir SQL yedeği kullanarak bir felaketten kurtarmak olsaydı, biz aşağı günlerce olurdu.

Yatay SQL ölçekleme da oldukça acı verici ve çoğu durumda ilk etapta SQL veri koymak için seçtiği zaman muhtemelen niyetinde değildi yollarla kullanmaktan yol açar. Shard, vd köle, çok efendi, okumak, onlar hiç DB ile yapmak ve onlardan biri sorunu çözer her şeyi karmaşıklığa gerçekten boktan çözümleridir; sadece bazı şekillerde azaltır. Şiddetle MySQL dışına verilerinizin bir kısmını hareketli bakarak öneririm (veya gerçekten herhangi bir SQL) şeylerin bu tür bir sorun haline nerede boyutta bir veri kümesi yaklaşan başlar.

Cevap 30/06/2017 saat 16:25
kaynak kullanıcı

oy
4

veritabanı düzgün tasarlanmış değilse Performans bin birkaç satır bir konuda düşürebilir.

Uygun dizin varsa, kullanım bölümleme (birden DMLS beklenen MyISAM kullanmayın) uygun motorlarını kullanmayan, MySQL bile terabayt veri işleyebilir iyi sunucu yapılandırmasına sahip kullanımına ve tabii olarak doğru bellek ayrılamadı!

Veritabanı performansını artırmak için yollar her zaman vardır.

Cevap 19/09/2013 saat 12:26
kaynak kullanıcı

oy
2

Veritabanı boyutu bayt ve tablonun satır sayısı açısından önemli. Bir ışık veritabanı ve bir damla dolu bir arasında çok büyük bir performans farkı göreceksiniz. Bunun yerine diskte dosyalarına resim tutmak ve veritabanında tek dosya adlarını koyma alanları içinde ikili görüntüleri koymak çünkü başvurum saplanıp kez. Öte yandan satır çok sayıda yineleme ücretsiz değildir.

Cevap 05/06/2017 saat 10:27
kaynak kullanıcı

oy
2

Bu sizin sorgu ve doğrulama bağlıdır.

Örneğin, i .I iki Tabloları.Asenkron sorgu alır arasında ilaçların jenerik adı karşılaştırmak için bir sorgu koymak bu tablodaki her bir ilaç için en fazla 15 karakter içeren bir kolon genel adına sahip 100 000 ilaç bir tablo ile çalışmış Eğer ilaç dizini kullanarak ilaçları karşılaştırırsanız (yukarıda bahsedilen şekilde) dakika daha, sadece birkaç saniye sürer id sütunu kullanılarak, aynı çalıştırabilirsiniz.Personel için.

Cevap 29/11/2016 saat 12:05
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more