Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

OCI8 extensionのパフォーマンス改善

OCI8拡張モジュールのバグFIXにより、パフォーマンスが改善するようです。


I need some feedback on a short PHP OCI8 extension statement caching bug fix. The diff is in http://news.php.net/php.cvs/44754. Email me any comments. My address is under the About link on the right.

As part of some testing we were doing, we found that PHP's OCI8 extension had a bug in the way it used Oracle's statement caching. The fix is already in CVS and will be generally available in PHP 5.2.4. After a short period for you to send me comments, Antony Dovgal will also build a new PECL snapshot of OCI8.

ステートメントキャッシュのバグFIXだそうで、予定ではPHP5.2.4に入ってくるとのことです。
また、OCI8拡張のステートメントキャッシュはクライアント側にあるので、Oracle上でのsoft parse*1も回避できますが、キャッシュサイズ*2が小さいので、アプリケーションで実行されるSQLの数ぐらいに大きくした方が良い、とも書かれてますね。oci_pconnect関数と共に使うと、効果ありそうです。

*1:同一SQLの2回目の実行時に行われるparse結果のハッシュ検索

*2:php.iniのoci8.statement_cache_sizeで指定。デフォルトは20