Benim oturumları işlemek için ayrı bir veritabanı kullanmak gerektiğini olup olmadığını bazı tavsiyeler için arıyorum.
Biz belirli bilgileri giriş ve onların hesabını güncellemek / kontrol etmek için birden fazla kullanıcı için bir web uygulaması yazıyoruz. Biz oturum bilgilerini depolamak için web sunucusu üzerinde dosya depolama yöntemi kullanmak istemiyordu, bu yüzden biz bir veritabanı (MySQL) kullanmaya karar verdi. Bu güzel çalışıyor, ancak bu üretimin içine alır zaman performansı hakkında merak ediyorum.
Şu anda, biz iki veritabanları (rst_sessions ve RST) var. Tüm tabloları webapp için saklanan nerede "RST" veritabanı ... hepsi tabloları bağlamak Tutarlılığına / yabancı anahtarları kullanarak MySQL InnoDB vardır. "RST_SESSIONS" veritabanı sadece tek bir tablo vardır ve tüm oturum bilgilerini orada saklanır alır.
İşte benim endişeleri biri. Ben "RST" karşı bir sorgu çalıştırmak istiyorsanız PHP kodu sonra ben php içeride gibi bu veritabanını seçmek zorunda ($ db-> ("RST") seçin) ... Ben sorgu I ile işim bittiğinde (select $ db-> ("RST_SESSIONS")) "RST_SESSIONS" veya başka bir özel bilgi set almaz oturumu yeniden seçmek zorunda. Yani, kod iki veritabanlarının seçilmesi ve yeniden seçmeden bir sürü yapıyor webapp atlatmamı. Bu söz sahibi kullanıcı tabanı (- 15,000 10,000) ile performans sorunları neden olabilir mi? Hepimizin seçerek önlemek için RST veritabanına RST_SESSIONS tabloyu hareket daha iyi olurdu?
Biz başlangıçta bu şekilde şeyler kurmak bir nedeni webapp veritabanı işlemleri ile müdahale etmedi bu yüzden ayrı bir veritabanı sunucusunda oturumları bilgi depolamak için muktedir oldu.
Yanlısı ve con hem yöntem ve biz performans için yapmak ne önerirsiniz bazıları nelerdir? Şimdiden teşekkürler.