mysql_pconnect() nedir? mysql_connect() ile mysql_pconnect() farkı..

MySQL kullanıyorsanız, bağlantı noktasında bu iki fonksiyon arasında gidip geldiğiniz olmuştur. Peki neden PHP bize MySQL bağlantılarımız için iki farklı fonksiyon seçeneği sunmuş durumda..

Veritabanımıza PHP ile bağlantı kurarken genelde mysql_connect() fonksiyonunu kullanırız.

mysql_connect() fonksiyonu veritabanıyla ilgili işlemler yaptığımız sayfaların her yüklenişinde tekrar tekrar çalıştırılıyor ve her durumda yeni bir bağlantı açılıp, sayfa yüklendiğinde bağlantı otomatik olarak kapatılıyor, yeni bir sayfada yine bir açma-kapama gerçekleşiyor. Bu da sunucumuzun ve veritabanımızın aşırı kullanım sebebiyle kasılmasına ve sonuç olarak kilitlenmesine yol açabiliyor.

Örnek vermek gerekirse;

Kapısını kapalı tuttuğunuz çok yoğun müşteri alan bir işyeriniz olduğunu hayal edin, her 10-15 saniyede bir  kapısı açılıp kapandığında, bu durum belli bir süre sonra rahatsız edici olacaktır.Her müşteri için gereksiz bir gürültü meydana gelecek ve aynı zamanda kapınızın da ömrü kısalacaktır.Bu durumda yapılacak en iyi şey kapınızı sürekli açık tutmaktır.

mysql_pconnect() fonksiyonu ise kalıcı bağlantılar için kullanılır. Persistant Connect (kalıcı bağlantı) kelimesinden gelir ve sayfanın çalıştırılması sonunda kendini bitirmeyen bağlantılar açabilmenizi sağlar. İlk açılan bağlantı bir bağlantı havuzunda saklanır ve sonraki sayfalar bu havuzdan beslenebilir. Böylelikle kullanıcı A sayfasına girdiğinde açtığınız bağlantı, B sayfasına geçtiğinde de kullanılır. Sonuç olarak her yüklenişte yeni bir bağlantı açılmaz ve sunucuda performans sağlar. Örnekteki gibi sürekli insan trafiği olan işyerinize aynı anda çok sayıda kişi rahatça girip çıkabilir.

Sonuç olarak;  çok yoğun kullanıcı ve ziyaretçi kitlesine sahip bir projeniz var ise mysql_pconnect() fonksiyonunu kullanabilirsiniz. Fakat çok yükü olmayan site ve projelerinizde ise mysql_connect() fonksiyonunu kullanmak bir problem yaratmayacaktır.