mysqlnd_qc
PHP Manual

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

SQL ヒント関係

クエリ・キャッシュは、SQL ヒントによって制御されます。 SQL ヒントは、キャッシングを有効または無効にするために使用します。 SQL ヒントは、クエリの TTL を設定するために使用できます。

クエリ・キャッシュで認識される SQL ヒントは、コンパイル時に手動で変更できます。 これは、デフォルトの SQL ヒントが他のシステムによってすでに取り入れられて、 解釈・実行された環境で、mysqlnd_qc を使用できるようにします。 この理由から、クエリ文字列にデフォルトの SQL ヒントを手動で追加する代わりに、 SQL ヒント文字列定数を使用することを推奨します。

<?php
/* 可搬性を最大にするために定数を使用 */
$query "/*" MYSQLND_QC_ENABLE_SWITCH "*/SELECT id FROM test";

/* 有効ですが、可搬性がより少なくなります: デフォルトの TTL */
$query "/*qc=on*/SELECT id FROM test";

/* 有効ですが、可搬性がより少なくなります: ステートメント TTL 単位 */
$query "/*qc=on*//*qc_ttl=5*/SELECT id FROM test";

printf("MYSQLND_QC_ENABLE_SWITCH: %s\n"MYSQLND_QC_ENABLE_SWITCH);
printf("MYSQLND_QC_DISABLE_SWITCH: %s\n"MYSQLND_QC_DISABLE_SWITCH);
printf("MYSQLND_QC_TTL_SWITCH: %s\n"MYSQLND_QC_TTL_SWITCH);
?>

上の例の出力は以下となります。

MYSQLND_QC_ENABLE_SWITCH: qc=on
MYSQLND_QC_DISABLE_SWITCH: qc=off
MYSQLND_QC_TTL_SWITCH: qc_ttl=

MYSQLND_QC_ENABLE_SWITCH ( string)
クエリをキャッシュに格納できるようにするために使用する SQL ヒント。
MYSQLND_QC_DISABLE_SWITCH ( string)
mysqlnd_qc.cache_by_default = 1 の場合に クエリをキャッシュに格納できないようにするために使用する SQL ヒント。
MYSQLND_QC_TTL_SWITCH ( string)
結果セットの TTL を設定するために使用する SQL ヒント


mysqlnd_qc
PHP Manual