Yaklaşık 50 milyon satır içeren ve 4 GB'lık bir dizin boyutuna sahip (yaklaşık 6 GB'lik tablo boyutu) bir tabloyu sorgulamanın veritabanı sunucusunun belleği değiştirmesine ve önemli ölçüde yavaşlamasına neden olduğu bir sorunla karşı karşıyayız. Bunun geçici tablo boyutunun aşılması ve diske takılması gerektiğinden eminim.
Eğer veritabanı sunucumu 32 GB RAM'den 64 GB RAM'e yükselttiyseniz, MySQL veritabanının bu ek bellekten tam olarak faydalanıp faydalanmayacağını ve takas edilemeyeceğini merak ediyorum. Değişkenlerin birkaçından (örn. KEY_BUFFER_SIZE, vb ...) geçtim ve 64 GB üzerindeki ayar değerlerini destekliyorlar. Ancak, MySQL belgeleri, tmp_table_size'nin 4 GB'da maksimuma çıktığını söylüyor.
Öyleyse, hafıza yükseltme buna değer mi? "Query-large-table" sorunu bundan yararlanabilir mi, yoksa 4 GB sınırı nedeniyle işe yaramaz mıydı? Farklı şekillerde bölümlere ayrılacak masayı yeniden yapılandırmak gibi potansiyel olarak başka çözümler olduğunu biliyorum, vb ... ama tablo hakkında herhangi bir şeyi değiştirmeden ek bellek yardımcı olur mu?
Ayrıca, genel olarak, MySQL'in 32'den 64 GB RAM'e geçerken yararlanamayacağı bellekle ilgili başka değişkenler var mı?
Veritabanı sunucumuz olarak 64bit linux (Ubuntu) kullanıyoruz.
Sağol Galen