以下の定数が定義されています。 この関数の拡張モジュールが 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=