SELECT est exécutée. Pour l’illustrer, ajoutons des données dans une Table dans ClickHouse :
EXPLAIN correspondante. Ces étapes sont résumées dans le schéma ci-dessous :
Voyons maintenant chaque composant à l’œuvre lors de l’exécution d’une requête. Nous allons prendre quelques requêtes, puis les examiner à l’aide de l’instruction EXPLAIN.
Analyseur syntaxique
EXPLAIN AST :
Analyseur
enable_analyzer=0. La nouvelle architecture est activée par défaut. Nous ne décrirons ici que la nouvelle architecture, puisque l’ancienne sera dépréciée lorsque le nouvel analyseur sera officiellement disponible.
La nouvelle architecture devrait nous offrir un meilleur cadre pour améliorer les performances de ClickHouse. Cependant, comme il s’agit d’un composant fondamental du traitement des requêtes, elle peut aussi avoir un impact négatif sur certaines requêtes, et il existe des incompatibilités connues. Vous pouvez revenir à l’ancien analyseur en modifiant le paramètre
enable_analyzer au niveau de la requête ou de l’utilisateur.Planificateur
EXPLAIN PLAN ou EXPLAIN pour afficher le plan de requête (EXPLAIN exécutera EXPLAIN PLAN).
minimum_date, maximum_date et percentage), mais vous pouvez aussi souhaiter obtenir le détail de toutes les actions à exécuter. Pour cela, définissez actions=1.
Pipeline d’exécution de la requête
graph que nous pouvons définir à 1 et indiquer le format de sortie TSV :
x suivi d’un nombre indique le nombre d’entrées/sorties utilisées. Si vous ne souhaitez pas les afficher sous une forme compacte, vous pouvez toujours ajouter compact=0 :
EXPLAIN :
Executor
SELECT, un INSERT ou un INSERT SELECT.