Kalıcı bağlantılar MySQL için gereksiz olmalıdır. Bir bağlantısı pahalı ve zaman alıcı, bu nedenle yeniden bir bağlantı kullanabilirsiniz eğer büyük bir kazan yapma (Oracle gibi) diğer veritabanları içinde. Ama daha iyi bir şekilde sorunu çözer veritabanı teklif bağlantı havuzu, bu markalar.
MySQL veritabanı bağlantısı yapma bu diğer markalara kıyasla hızlı, böylece kalıcı bağlantılarını kullanarak oransal veritabanından başka bir marka için olandan MySQL için daha az fayda verir.
Kalıcı bağlantılar da bir dezavantajı var. Veritabanı sunucusu bağlantıları gerekli olsun veya olmasın, her bağlantı için kaynak ayırmaktadır. Bağlantıları boşta iseniz Yani hiçbir amaç için kaynakların israf bir sürü bakın. 10.000 boşta bağlantıları ulaşmak olacak eğer ben bilmiyorum, ama yüz hatta birkaç maliyetlidir.
Bağlantıları devlet var, ve daha önce başka bir PHP isteği tarafından kullanılan bir oturumu bilgilerini "miras" için bir PHP istek için uygunsuz olacaktır. Kalıcı bağlantı kullanmak Örneğin, geçici tablolar ve kullanıcı değişkenleri normalde bir bağlantı kapatır gibi temizledik, ama değil. Karakter seti ve harmanlama gibi aynı şekilde oturum tabanlı ayarlar. Ayrıca, LAST_INSERT_ID()
oturumu sırasında son oluşturulan id rapor verecek - bir önceki PHP isteği sırasında oldu bile.
MySQL için, en azından, muhtemelen kendi yararları ağır basar kalıcı bağlantıların olumsuz. Ve yüksek ölçeklenebilirlik elde etmek için diğer, daha iyi teknikler vardır.
Mart 2014 güncelleyin:
MySQL bağlantı hızı hep düşük RDBMS'in diğer markalara kıyasla, ama o daha iyi oluyor.
Bkz http://mysqlserverteam.com/improving-connectdisconnect-performance/
MySQL 5.6 biz kod taşıma bağlanır ve keser optimize üzerinde çalışmaya başladı. Ve bu iş MySQL 5.7 hızlandı. Bu blog yazısı ilk biz elde ettik sonuçlarını göstermek ve daha sonra biz onları almak için yaptıklarını anlatacağız.
Daha fazla ayrıntı ve hız karşılaştırmaları için blogunu okuyun.