Comment puis-je vérifier que le cache de requêtes est utilisé pour ma requête ?
query_cache_test
Utiliser clickhouse client
SETTINGS use_query_cache=true à la requête) :
TRACE liés à QueryCache,
1re exécution :
No entry found for query SELECT...), donc ClickHouse a bien stocké (Stored result of query SELECT...) l’entrée pour nous.
Lors de la 2e exécution, la requête a utilisé le cache de requêtes, car elle a trouvé l’entrée déjà stockée (Entry found for query SELECT...).
En utilisant uniquement SQL
clickhouse client,
il est également possible de vérifier si le cache de requêtes est utilisé en consultant les tables system pertinentes :
QueryCacheMisses lors de la première exécution de la requête SELECT 1 SETTINGS use_query_cache=true;, ainsi qu’un événement QueryCacheHits lié à sa deuxième exécution.
Gardez également à l’esprit que la taille maximale par défaut d’une entrée de cache est de 1048576 octets (= 1 MiB) et que, par défaut, les résultats ne sont conservés dans le cache que pendant 60 secondes (vous pouvez par exemple utiliser query_cache_ttl=300 dans SETTINGS pour conserver à la place le résultat d’une requête dans le cache pendant 5 minutes).
Vous trouverez des informations plus détaillées sur le cache de requêtes de ClickHouse ici