Neden kullanım mysqli_close (?)

2 Cevap php

Ben bir sorgudan sonra veya komut sonunda bağlantıyı kapatmak herhangi bir neden var mı?

Hayır yok yapmanın / yapmanın faydaları nelerdir?

2 Cevap

Bağlantı (if not persistent) her zaman komut dosyası sonunda kapatılır, böylece, teoride, kendiniz kapatmak gerekmez.

En azından, uzun hesaplamalar sorgularının ardından yapılır - eğer PHP komut çalıştırmak için çok zaman alır eğer Yine, bu artık veritabanına herhangi bir isteği yapmak zorunda değilsiniz zaman bağlantıyı kapatmak için iyi bir fikirdir.

Uygulama bir hosting üzerinde konuşlanmış, bu özellikle doğrudur: Kullanıcı hesabı genelde sadece birkaç bağlantıları aynı anda açıldı olabilir. (That number of simultaneous opened connections can be pretty small on shared hosting ; it's generally bigger on private servers).


The reason we often don't close connections ourselfves is :

  • hepimizin sorguları yapmış zaman biz genellikle gerçekten bilmiyorum - bu küçük "bloklar" sürü yapılmış sayfaları ile özellikle doğrudur; Bunların her biri diğerlerinden bağımsız olduğu ve kendi sorguları yapabilir; bu yüzden, ne zaman biz bağlantıyı kapatabilirsiniz?
  • web sayfaları genellikle oluşturmak için oldukça hızlı, bu yüzden gerçekten DB bağlantıyı kapatmadan hakkında rahatsız değil.

Uzun süren bir işlem yapmaya gidiyoruz ama sonra hiçbir nokta tutma bir bağlantıyı açmak var veritabanı sorgulama bittiyse şeydir. Aynı açık kullanıcı oturumunu tutan gider (ki blokları diğer istekleri).

Bunun bir örneği, bir büyük PDF rapor oluşturmak olabilir. Bu oluşturmak ve dosyayı yazmak için 20-30 + saniye sürebilir ama sen ilk saniyede gereken tüm verileri almak.

Normalde ancak siz de (bağlantı kalıcı değildir varsayarak) bunu otomatik olarak yapabilirsiniz.