mysqlnd_qc
PHP Manual

導入

このプラグインは、簡単に使えるクライアント側でのクエリキャッシュ機能を追加します。 mysqlnd を使うすべての MySQL 用 PHP 拡張モジュールで使えます。

PHP 5.3.3 以降で、PHP の MySQL Native Driver (mysqlnd) は C の内部プラグイン API を提供するようになりました。 クエリキャッシュプラグインのように C でプラグインを書いて、 mysqlnd の機能を拡張できるようになったのです。

クエリキャッシュプラグインのような mysqlnd 用プラグインの機能の大部分は、 ユーザーの視点からはプラグインの存在を意識せずに使えます。このプラグインはすべての PHP アプリケーションをサポートし、そしてすべての MySQL 用 PHP 拡張モジュール (mysqlimysqlPDO_MYSQL) に対応します。既存の API には何も手を加えません。

クエリをキャッシュするためのアプリケーション側での変更は、ほとんど必要ありません。 キャッシュの動作モードは二種類あります。すべてのクエリをキャッシュする (非推奨) か、あるいは特定の SQL ヒントを付加したクエリだけをキャッシュする (推奨) かのいずれかです。

主要な機能

制限

現在のリリース版であるバージョン 1.0.1 では、PECL mysqlnd_qc は PHP 5.4 に対応していません。バージョン 1.1.0-alpha で対応します。

プリペアドステートメントや非バッファクエリには完全に対応しています。 したがって、このプラグインは mysqliPDO_MySQL が発行するすべてのステートメントをキャッシュできます。 PHP の MySQL API でプリペアドステートメントに対応しているのはこの二つだけです。

名前の由来

mysqlnd_qcmysqlnd query cache plugin の略です。 概念実証のためのコードをざっと書きあげるときに、この名前を選びました。 当時は、まさかそのコードを使い続けることになるとは思わなかったのです。 PECL/mysqlnd_qc は client-side query result set cache と呼ばれることもあります。


mysqlnd_qc
PHP Manual