Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.
Relacionadas con sugerencias SQL
Ejemplo #1 Usar constantes de sugerencias SQL
La caché de consultas está constrolada por sugerencias SQL. Las sugerencias SQL se usan para habilitar y
deshabilitar el almacenamiento en la caché. Las sugerencias SQL se pueden usar para establecer el
TTL
de una consulta.
Las sugerencias SQL reconocidas por la caché de consultas se pueden cambiar manualmente en
tiempo de compilación. Esto hace posible usar
mysqlnd_qc
en entornos en los cuales las sugerencias SQL
predeterminadas ya son tomadas e interpretadas por otros sistemas. Por lo tanto,
se recomienda usar constantes de cadena de sugerencias SQL en lugar de
añadir manualmente las sugerencias SQL predeterminadas a las cadenas de consulta.
<?php
/* Usar constantes para una portabilidad máxima */
$consulta = "/*" . MYSQLND_QC_ENABLE_SWITCH . "*/SELECT id FROM test";
/* Válido pero menos portable: TTL predeterminado */
$consulta = "/*qc=on*/SELECT id FROM test";
/* Válido pero menos portable: TTL por sentencia */
$consulta = "/*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);
?>
El resultado de los ejemplos sería:
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.cache_by_default = 1
.
MYSQLND_QC_TTL_SWITCH
(string)
MYSQLND_QC_SERVER_ID_SWITCH
(string)
Relacionadas con mysqlnd_qc_set_cache_condition()
Ejemplo #2 Ejemplo del uso de mysqlnd_qc_set_cache_condition()
La función mysqlnd_qc_set_cache_condition() permite establecer las condiciones para el almacenamiento en caché de sentencias que no comienzan con las sugerencias SQL necesarias para habilitar el almacenamiento en caché manual.
<?php
/* Almacenar en caché todos los accesos a tablas con nombre "new%" en el esquema/base de datos "bd_ejemplo" durante 1 segundo */
if (!mysqlnd_qc_set_cache_condition(MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN, "bd_ejemplo.new%", 1)) {
die("¡Error al establecer la condición de la caché!");
}
$mysqli = new mysqli("host", "usuario", "contraseña", "bd_ejemplo", "puerto");
/* almacenada en caché aunque no se proporcionó una sugerencia SQL */
$mysqli->query("SELECT id, title FROM news");
$pdo_mysql = new PDO("mysql:host=host;dbname=bd_ejemplo;port=puerto", "usuario", "contraseña");
/* no almacenada en caché: sin sugerencia SQL, el patrón no coincide */
$pdo_mysql->query("SELECT id, title FROM latest_news");
/* almacenado en caché: TTL 1 segundo, el patrón coincide */
$pdo_mysql->query("SELECT id, title FROM news");
?>
MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN
(int)
Otras
El número de versión del complemento se puede obtener usando
MYSQLND_QC_VERSION
, que es la representación de tipo string
del número de verisón numérica, o MYSQLND_QC_VERSION_ID
,
que es un integer como 10000. Los desarrolladores puede calcular el número de versión
como sigue:
Versión (parte) | Ejemplo |
---|---|
Mayor*10000 | 1*10000 = 10000 |
Menor*100 | 0*100 = 0 |
Parche | 0 = 0 |
MYSQLND_QC_VERSION_ID | 10000 |
MYSQLND_QC_VERSION
(string)
1.0.0-prototype.
MYSQLND_QC_VERSION_ID
(int)