2013年1月5日土曜日

Zend_DbでのDB接続管理

PDOドライバを使う場合、

   PDO::ATTR_PERSISTENT=>true

を設定することで、DBコネクションがキャッシュされて、再利用ができる

http://php.net/manual/ja/pdo.connections.php




Zend_Dbを使う場合には、username,passwordと同じレベルで、persistentにtrueを指定することで、同様に設定になる。

Zend Frameworkでconifig.iniに以下のように指定すると、利用できるようになる


----ここから----
resources.db.params.username=DB接続ユーザ名
resources.db.params.password=DB接続パスワード
resources.db.params.persistent=true
----ここまで----


http://framework.zend.com/manual/1.12/ja/zend.db.adapter.html

に書いてあったけど、ページの最後のほうにnoteで書いてあったから見過ごしてた。


MySQLでコネクション数をみるとpersistent=trueとすることで、いくつかのコネクションが張られっぱなしになることを確認。
ただ、PDO側でコネクション数上限を指定するところが見当たらないので、DB側のMAX分だけコネクションが張られっぱなしになる可能性もあるかも。
だれか教えてほしい。