php bağlantı havuzu mysql

6 Cevap php

I am planning to use MYSQL. Is there a connection pooling extension available? Or what is the normal practice for connection? Is this the one used in every where...

mysqli_connect("localhost", "xxx", "xxx", "test");

Insanlar mysql_connect sadece normal kullanmayın veya Do pconnect ..? pconnect Nasıl daha iyi ve ben PConnect için ne ayar yapmalıyım?

6 Cevap

have you ever used mysql_pconnect() ? mysql_pconnect() acts very much like mysql_connect() with two major differences.

Bağlarken ilk, işlev ilk zaten aynı host, kullanıcı adı ve şifre ile açık olan bir (kalıcı) bir bağlantı bulmaya çalışacaktı. Bulursa, bunun için bir tanımlayıcı yerine yeni bir bağlantı açma iade edilecektir.

Script çalışması bittiğinde İkincisi, SQL sunucusuna bağlantı kapalı olmayacak. Bunun yerine, bağlantı ileride kullanılmak üzere açık kalacaktır (mysql_close() değil tarafından kurulan yakın bağlantılar mysql_pconnect()).

Bu tür bağlantı bu nedenle "sürekli" olarak adlandırılır

Check it here

Persistent connection support was introduced in PHP 5.3 for the mysqli extension. Support was already present in PDO MYSQL and ext/mysql. The idea behind persistent connections is that a connection between a client process and a database can be reused by a client process, rather than being created and destroyed multiple times. This reduces the overhead of creating fresh connections every time one is required, as unused connections are cached and ready to be reused.

Unlike the mysql extension, mysqli does not provide a separate function for opening persistent connections. To open a persistent connection you must prepend p: to the hostname when connecting.

Kaynak: http://www.php.net/manual/en/mysqli.persistconns.php

sample code:
$GLOBALS["mysqli"] = new mysqli('p:localhost', 'username', 'password', 'db_name');

edit: kazıklandığı için üzgünüm, diğer cevaplar görmedim.

yerine eski mysql uzantısı mysqli veya PDO eklentisini kullanabilirsiniz.

sizinle host önek varsa, söyleyebilir mysqli_connect veya mysqli::__construct kalıcı bir bağlantı kullanmak için 'p'

http://php.net/manual/en/mysqli.construct.php

Bu eski bir soru, ama ben bu konuda aynı bakıyor gibi ben, benim iki sent eklemek istedim. PHP 5.3 itibariyle, mysqli kalıcı bağlantılarını destekler, sadece p başa eklemek gerekir: ana bilgisayar adının önüne.

Apache çalışıyorsa, Apache mod_dbd modülü modülü ile mysql havuzu ile bağlantılı içine bakarak denediniz mi? Bu MySQL için bağlantı havuzu destekler. http://httpd.apache.org/docs/2.2/mod/mod_dbd.html

3 bağlantı fonksiyonları vardır:

mysql_connect: Normal bağlantı, hiçbir havuzu, saklı yürütmek olamaz prosedürleri (sadece sql)

mysql_pconnect: toplanmış bağlantı, saklı yordamları (sadece sql) yürütemez

mysqli_connect: Normal bağlantı, hiçbir havuzu, saklı yordamları yürütebilirsiniz (mysql 5 veya üstü gerekir)

mysqli_pconnect: YOKTUR. Hiçbir bağlantı fonksiyonu taşıma saklanan prosedürler ve havuzu hem de orada inşa edilmiştir

(Tecrübe ve sörf yoluyla) Benim tavsiyem:

Saklı yordamlar gerekiyorsa, havuzu ihmal ve mysqli_connect kullanın

Saklı yordamlar ihtiyacınız yoksa, mysql_pconnect kullanın

Kötü sorulan soru

mysql_pconnect() veya mysqli_pconnect()

http://uk.php.net/manual/en/function.mysql-pconnect.php