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
L’objectif d’un analyseur syntaxique est de transformer le texte de la requête en un AST (arbre syntaxique abstrait). Cette étape peut être visualisée à l’aide deEXPLAIN AST :
Analyseur
L’analyseur est activé par défaut depuis ClickHouse24.3 et constitue le seul mode d’analyse de requête depuis la version 26.9, où enable_analyzer est devenu un paramètre obsolète qui ne peut plus être désactivé.
L’analyseur est un composant fondamental du traitement des requêtes, et il peut avoir un impact négatif sur certaines requêtes : consultez les incompatibilités connues pour connaître les requêtes qui doivent être adaptées.
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.