Como posso verificar se o cache de consultas está sendo usado na minha consulta?
query_cache_test
Como usar o clickhouse client
SETTINGS use_query_cache=true à consulta):
TRACE relacionados ao QueryCache entre:
1ª execução:
No entry found for query SELECT...), então o ClickHouse de fato armazenou (Stored result of query SELECT...) a entrada para nós.
Na 2ª execução, a consulta usou o cache de consultas, pois encontrou a entrada já armazenada (Entry found for query SELECT...).
Usando apenas SQL
clickhouse client,
também é possível validar se o cache de consultas está sendo usado verificando as tabelas system relevantes:
QueryCacheMisses, referente à primeira vez em que a consulta SELECT 1 SETTINGS use_query_cache=true; foi executada, e um evento QueryCacheHits relacionado à segunda execução da consulta.
Lembre-se também de que o tamanho máximo padrão de uma entrada do cache é de 1048576 bytes (= 1 MiB) e que, por padrão, os resultados são armazenados no cache por apenas 60 segundos (por exemplo, você pode usar query_cache_ttl=300 em SETTINGS para armazenar o resultado de uma consulta no cache por 5 minutos).
Você pode encontrar informações mais detalhadas sobre o cache de consultas do ClickHouse aqui