Mysql bağlantı önemlidir kapatıyor?

5 Cevap php

Akıllıca mysql bağlantıları verimliliği kapatmak için, ya da php dosyası sonra otomatik olarak kapanır tükendi nedir önemlidir?

5 Cevap

Kimden documentation:

Not: açıkça mysql_close () çağırarak önce kapalı sürece sunucusuna bağlantı, kısa sürede script yürütme biter gibi kapalı olacaktır.

Script sonucu getiriliyor sonra gerçekleştirmek için işleme adil bir miktar vardır ve tam sonuç kümesini alınan varsa, kesinlikle bağlantıyı kapatmak gerekir. Bunu yapmazsanız, MySQL sunucusu, web sunucusu yoğun kullanım altında olduğunda bağlantı sınırı ulaşacak bir şans var. Eğer script sonuna kadar MySQL bağlantısını kapatın yapamıyorsanız, bunu açıkça yapmak için gereksiz olsa da temiz.

Ben Fastcgi şeyleri etkiler nasıl emin değilim. One page fastcgi destekleyen PHP bir yapı bile mysql_connect için, kalıcı bağlantıları oluşturmak olacağını iddia ediyor. Bu süreç, yerine komut daha sona erdiğinde bağlantı kapalı olduğundan belgelerine çelişmektedir. Aksine test daha, ben mysql_close () kullanarak tavsiye edeceğim. O kullanılabilir varsa, aslında, ben, PDO kullanmanızı öneririz.

Bu önemli mi? Çok değil

Takip etmek iyi bir uygulama olarak kabul edilir? Evet.

Bunu kapatmak istemem neden görmüyorum.

Cgi gibi bir şey kullanarak zaman komut dosyası yürütme sonunda otomatik olarak kapanmasını beri, bu mysql bağlantıları kapatmak için tamamen gereksiz. Istekleri arasındaki bağlantıları korumak Mod_perl ve diğerleri gibi kalıcı teknolojileri kullanırken, o vb bağlantıları takip, global değişkenler, tutmak önemlidir.

Temel olarak, kalıcı veri, kendinizi sonra temizlemek. Zaman istek tamamlandığında zaten önemsiz, kalıcı olmayan veriler için, tüm gidersiniz. Her iki şekilde de, iyi uygulama her zaman bağlantıları kapatmak için olduğunu.

Yani maksimum yürütme zamanı, php scriptler sonuna ulaşılana kadar açık kalacak bir mysql bağlantı açıldığında bana ... bu hakkı alır, veya el bağlantıyı kapatın. Ben bunu mysql tür değişkenlerin değerlerini atama ve ne değildir ve varlık beri devam bağlantıyı tutmak değil gibi değişkenler zaten ihtiyacınız olan bilgileri içeren ve o zamandan beri bağlantıyı kapatmak gibi gerçek hızlı yapmak için gerekenleri yapmak için iyi bir uygulama olmayı hayal olurdu script kalanı için amaçsızca koştu? Sana şunu sorayım, ne 60 saniye boyunca koştu bir php dosyası olsaydı? Bu gibi ...

<?php
$i = 0;

while ($i < 60)
  {
  $c = new mysqli('localhost', 'user', 'pass', 'databasename');

  /*
  Connection Open, Updates Go here
  */

  $i++;
  sleep(1);
  }

?>

Bağlantı yeni bir bağlantı yapıldığı her zaman kapatmak istiyorsunuz? Ya da bu ciddi hafıza sorunlarına neden başlamak istiyorsunuz?

Eğer güvenlik nedenlerinden bir gömülü javascript code from other sites olduğunda daha iyi yakın veritabanı bağlantısı