ku-sukeのブログ

Just another hatena blog

MySQLでPDOを使うとき、プリペアドステートメントはいらん?

MySQL :: MySQL 5.1 リファレンスマニュアル :: 23.2.6 準備されたC APIステートメント機能の概要
主にSelect文の速度的な話なんだけど、これを見る限りPHPスクリプトが終了する=PDOの接続も終了=MySQLのプリペアドステートメントの解析結果も消えるということにならないか。

普通のqueryを使うと、MySQL側のクエリキャッシュが使えるので、そっちのほうが速い気がしてきた。

そもそも、1回の接続でバインドする変数の値を変えて実行するっていうシーンにあんまり出くわさない。もちろんコネクションプールとかを使うと、解析結果が残るのかもしれないけど、そうじゃないPHPの場合。
(PDO独自のコネクションプールはバグがあるらしく使いたくない。そもそもPHP全般でちゃんとしたコネクションプール見たことない。)

スクリプトからクエリログを簡単に扱えないし(と思ってる)、オレオレバインド変数(PDO::quoteつきね)でも良いのではないかと思います。

詳しい方情報プリーズ。