2011年11月24日木曜日

PHPのPDOでデータベース接続をプールする方法

PHPのPDOでデータベースを扱う場合に、データベースの接続をプールして使い回してくれる方法がある。
スクリプト実行のたびに再接続しているとオーバーヘッドが生じるからだ。

例えば以下のようにしてPDOのインスタンスを作成すると良い。
----------
$pdo = new PDO('mysql:dbname=test;host=localhost', 'user', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8", PDO::ATTR_PERSISTENT => true));
----------
「PDO::ATTR_PERSISTENT => true」の部分がそれ。
後はPHPにおまかせで良い。
こういうものが用意されているがPHPの便利なところだ。

接続プールとは関係ないが、この例ではMySQLで文字コードにutf8を指定している。MySQLでutf8を使っている方はこのようにして文字コードも指定すると良い。

0 件のコメント: