©
本文档使用 PHP中文网手册 发布
下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。
SQL hint related
Example #1 Using SQL hint constants
The query cache is controlled by SQL hints. SQL hints are used to enable and disable caching. SQL hints can be used to set the TTL of a query.
The SQL hints recognized by the query cache can be manually changed at compile time. This makes it possible to use mysqlnd_qc in environments in which the default SQL hints are already taken and interpreted by other systems. Therefore it is recommended to use the SQL hint string constants instead of manually adding the default SQL hints to the query string.
<?php
$query = "SELECT id FROM test" ;
$query = "SELECT id FROM test" ;
$query = "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 )
MYSQLND_QC_DISABLE_SWITCH
( string )
MYSQLND_QC_TTL_SWITCH
( string )
MYSQLND_QC_SERVER_ID_SWITCH
( string )
mysqlnd_qc_set_cache_condition() related
Example #2 Example mysqlnd_qc_set_cache_condition() usage
The function mysqlnd_qc_set_cache_condition() allows setting conditions for automatic caching of statements which don't begin with the SQL hints necessary to manually enable caching.
<?php
if (! mysqlnd_qc_set_cache_condition ( MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN , "db_example.new%" , 1 )) {
die( "Failed to set cache condition!" );
}
$mysqli = new mysqli ( "host" , "user" , "password" , "db_example" , "port" );
$mysqli -> query ( "SELECT id, title FROM news" );
$pdo_mysql = new PDO ( "mysql:host=host;dbname=db_example;port=port" , "user" , "password" );
$pdo_mysql -> query ( "SELECT id, title FROM latest_news" );
$pdo_mysql -> query ( "SELECT id, title FROM news" );
?>
MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN
( int )
Other
The plugin version number can be obtained using either
MYSQLND_QC_VERSION
, which is the string representation
of the numerical version number, or MYSQLND_QC_VERSION_ID
,
which is an integer such as 10000. Developers can calculate the version number
as follows.
Version (part) | Example |
---|---|
Major*10000 | 1*10000 = 10000 |
Minor*100 | 0*100 = 0 |
Patch | 0 = 0 |
MYSQLND_QC_VERSION_ID | 10000 |
MYSQLND_QC_VERSION
( string )
MYSQLND_QC_VERSION_ID
( int )