Cuando el almacenamiento en caché está activado, se evalúa cada consulta para determinar si está cualificada para un acierto de caché.
Un acierto de caché significa que Oracle Analytics Cloud ha podido utilizar la caché para responder a una consulta sin ir a la base de datos. Oracle Analytics Cloud puede utilizar la caché de consulta para responder a consultas en el mismo nivel de agregación o uno superior.
Hay varios factores que determinan si se produce un acierto de caché. En la siguiente tabla se describen estos factores.
| Factor o regla | Descripción |
|---|---|
|
Un subjuego de columnas de la lista |
Para que esté cualificada para un acierto de caché, todas las columnas de la lista Esta regla describe el requisito mínimo para un acierto de caché, pero el cumplimiento de esta regla no garantiza un acierto de caché. También se aplican las reglas restantes de esta tabla. |
|
Las columnas de la lista |
Oracle Analytics Cloud puede calcular expresiones en los resultados en caché para responder a la nueva consulta, pero todas las columnas deben estar en el resultado en caché. Por ejemplo, la consulta: SELECT product, month, averageprice FROM sales WHERE year = 2000 coincide con la caché en la consulta: SELECT product, month, dollars, unitsales FROM sales WHERE year = 2000 porque |
|
La cláusula |
Para que la consulta esté cualificada como un acierto de caché, las restricciones de la cláusula Una cláusula
Además, todas las columnas que se utilizan en la cláusula SELECT employeename
FROM employee, geography
WHERE region in ('EAST', 'WEST')
No da como resultado un acierto de caché para la consulta inicial en la lista anterior porque REGION no está en la lista de proyecciones. |
|
Las consultas solo de dimensión deben ser una coincidencia exacta |
Si una consulta es solo de dimensión, lo que significa que no está incluido ningún hecho o medida en la consulta, solo una coincidencia exacta de las columnas de proyección de la consulta en caché coincide con la caché. Este comportamiento evita falsos positivos cuando hay varios orígenes lógicos para una tabla de dimensiones. |
|
Las consultas con funciones especiales deben ser una coincidencia exacta |
Otras consultas que contienen funciones especiales, como las funciones de serie temporal ( |
|
El juego de tablas lógicas debe coincidir |
Para estar cualificadas como un acierto de caché, todas las consultas entrantes deben tener el mismo juego de tablas lógicas que la entrada de caché. Esta regla evita aciertos de caché falsos. Por ejemplo, |
|
Los valores de las variables de sesión deben coincidir, incluidas las variables de la sesión de seguridad |
Si la sentencia SQL lógica o física hace referencia a cualquier variable de sesión, los valores de la variable de sesión deben coincidir. De lo contrario, no hay una coincidencia con la caché. Además, el valor de las variables de sesión que son sensibles a la seguridad debe coincidir con los valores de las variables de sesión de seguridad definidos en el modelo semántico, incluso aunque la propia sentencia SQL lógica no haga referencia a las variables de sesión. Consulte Garantizar resultados de caché correctos al utilizar la seguridad de base de datos de nivel de fila. |
|
Condiciones de unión equivalentes |
La tabla lógica unida resultante de una nueva solicitud de consulta tiene que ser la misma que (o un subjuego de) los resultados en caché para estar cualificada para un acierto de caché. |
|
El atributo |
Si una consulta en caché elimina registros duplicados con el procesamiento |
|
Las consultas deben contener niveles de agregación compatibles |
Las consultas que solicitan un nivel de información agregado pueden utilizar resultados en caché en un nivel de agregación inferior. Por ejemplo, la siguiente consulta solicita la cantidad vendida en el nivel de proveedor y región y ciudad: SELECT supplier, region, city, qtysold FROM suppliercity La siguiente consulta solicita la cantidad vendida en el nivel de ciudad: SELECT city, qtysold FROM suppliercity La segunda consulta tiene como resultado un acierto de caché en la primera consulta. |
|
Agregación adicional limitada |
Por ejemplo, si una consulta con la columna |
|
La cláusula |
Las consultas que ordenan por columnas que no están contenidas en la lista de selección tienen como resultado faltas de caché. |
|
Diagnóstico del comportamiento del acierto de caché |
Para una mejor evaluación del comportamiento del acierto de caché, defina la variable de sesión ENABLE_CACHE_DIAGNOSTICS en 4, como se muestra en el siguiente ejemplo: ENABLE_CACHE_DIAGNOSTICS=4 |