Nasıl veritabanı bağlantısı php-mysql çalışır yok

6 Cevap php

Her sorgu yürütüldüğünde sonra bağlantıyı kapatın veya olduğu gibi bağlantıyı koymak daha iyidir, daha sonra php otomatik olarak bu bağlantıyı kapatır.

Hangisi neden daha iyi ve?

6 Cevap

Sadece bir kez bağlantısını açın. Açılış ve kapanış bağlantı çok zaman alır. Ve zaten söylediğim gibi, PHP closes open connections at the end of the runtime automatically.

Eğer aynı parametrelerle mysql_connect çağıran yeni bir bağlantı her zaman açık olacağını endişelenmenize gerek kalmaz Yani sadece mevcut bağlantıları için mysql_connect whenever you need a connection and let PHP close it at the end. mysql_connect kontrolleri çağrı . Ayrıca persistent connections bu sadece bir komut dosyası yürütme fazla kullanılabilir kullanabilirsiniz.

Bu gerçekten önemli değil. PHP komut yazısının sonunda sizin için bağlantıyı kapatmak için gidiş varsa kendiniz yapıyor gerçekten çok nokta yoktur.

Eğer, örneğin, küçük bir belleği boşaltmak istiyorsanız size tüm sorguları yaptıktan sonra bağlantıyı kapatmak için komut ekstra kod koymak isterim tek nedeni script zaten hafıza aç GD2 gibi kütüphaneleri kullanıyor.

Her sorgudan sonra bağlantıyı kapatmadan ve başka bir sorgu yapmak için başka açarak bellek aç ve zaman büyük bir atık IS. Sonuçta, gerçekten zahmet etmeyin!

Ben ne deneyim bağlantı açıldı bırakmak daha iyidir. Ama bu uygulamanın davranışına bağlıdır. Eğer bitirmek için biraz zaman alabilir hesaplamalar veya bağlantı dış hizmetlerin çok sayıda yapıyorsanız size zaman alıcı kısmı bitirdikten sonra, daha sonra bağlantıyı kapatın ve tekrar açmak için daha iyidir. Eğer sql bağlantı sayısı sınırı vurabilir ziyaretçilerin büyük bir sayı yoksa o zaman bağlantı her zaman açık bırakın. Tekrar açmak için biraz zaman alır.

Bu kalıcı bir bağlantı veya bağlantıları bir havuzu kullanmak için daha iyi olabilir.

Bu geçinmek gibi toplama, açmak bağlantıları kapatmak için genellikle iyi bir uygulamadır.

Açmak ve her bir sorgu için bir irade kapatmak isteyip gerçekten uygulamaya bağlıdır. Sadece veritabanı ile çok seyrek etkileşim varsa, o zaman bu şekilde yapmak iyi olabilir. Ya da tüm diğer olanları şu anda kullanılmakta olan yalnızca yeni bir açılış, herkes tarafından kullanıma açık bağlantı havuzu tutmak isteyebilirsiniz.

Komut başlatılması sırasında, bir kez veritabanına bağlanmak; Lütfen komut dosyasının yürütülmesi sırasında açık bağlantı tutmak ve bunun üzerinden daha fazla sorguları gönderebilirsiniz.

Yukarıdaki birden çok SQL sorguları yürütme Eğer (muhtemelen bir web sunucusu üzerinde) kısa bir çalışan PHP komut dosyası var, tipik bir kullanım senaryosu vardır. Lütfen komut birkaç saat daha uzun süre çalışırsa sürece, sorguları arasındaki bağlantıyı kapatmadan hakkında endişelenmeyin.

Eğer SQL sunucusuna bağlanmak her zaman, PHP komut dosyası ve hem de sunucu (nispeten) karmaşık müzakere yoluyla gitmek gerekir: komut izinleri vardır olmadığını kontrol her iki taraf MySQL konuşmak istiyorum kontrol, ağ üzerinden bağlantı kurmak vesaire, bağlayın. Çok daha hızlı ve daha verimli, db bağlantı yukarı tutun.