Saltar al contenido principal

¿Cómo puedo comprobar que la caché de consultas se está usando en mi consulta?

Consulte este ejemplo con clickhouse client y un servicio de ClickHouse Cloud. cree una tabla query_cache_test

Uso del clickhouse client

llena la tabla con algunos datos:
habilite los logs de traza:
ejecute una consulta para usar la caché de consultas (añadiendo SETTINGS use_query_cache=true a la consulta):
vuelve a ejecutar la misma consulta:
Observe ahora las diferencias entre los registros TRACE relacionados con QueryCache: 1.ª ejecución:
en la segunda ejecución:
En la 1.ª ejecución, claramente no se encontró ninguna entrada (No entry found for query SELECT...), así que ClickHouse almacenó (Stored result of query SELECT...) la entrada. En la 2.ª ejecución, la consulta utilizó la caché de consultas, ya que encontró la entrada ya almacenada (Entry found for query SELECT...).

Solo con SQL

Simplemente ejecutando comandos SQL, sin inspeccionar los registros de nivel trace de clickhouse client, también es posible validar si se está utilizando la caché de consultas comprobando las tablas system correspondientes:
En los resultados más recientes vemos 1 QueryCacheMisses correspondiente a la primera ejecución de la consulta SELECT 1 SETTINGS use_query_cache=true; y un evento QueryCacheHits asociado a la segunda ejecución de la consulta. Tenga en cuenta también que el tamaño máximo predeterminado de una entrada de caché es de 1048576 bytes (= 1 MiB) y que, de forma predeterminada, los resultados se almacenan en caché solo durante 60 segundos (por ejemplo, puede usar query_cache_ttl=300 en SETTINGS para que el resultado de una consulta se almacene en caché durante 5 minutos). Puede encontrar información más detallada sobre la caché de consultas de ClickHouse aquí
Última modificación el 2 de julio de 2026