Tous les produits
Search
Centre de documentation

AnalyticDB:Processus de requête et plan d'exécution

Dernière mise à jour :Aug 10, 2026

Lorsqu'une requête s'exécute lentement ou produit des résultats inattendus, comprendre le traitement et l'exécution du SQL par AnalyticDB for MySQL vous aide à interpréter les plans d'exécution, à lire les diagnostics SQL et à identifier les goulots d'étranglement. AnalyticDB for MySQL décompose chaque requête SQL en une hiérarchie d'étapes, de tâches et d'opérateurs avant de l'exécuter sur le cluster.

Traitement d'une requête par AnalyticDB for MySQL

Lorsque vous envoyez une requête SQL, AnalyticDB for MySQL la traite en cinq étapes :

  1. Le client envoie l'instruction SQL à un nœud contrôleur, c'est-à-dire le nœud d'accès frontal d'AnalyticDB for MySQL. Pour plus de détails sur les nœuds d'accès, consultez la rubrique Architecture technique.

  2. L'analyseur du nœud contrôleur analyse l'instruction pour générer un arbre syntaxique et établir un plan d'exécution logique préliminaire.

  3. L'optimiseur du nœud contrôleur évalue ce plan préliminaire et le réécrit si nécessaire. Il produit un plan d'exécution logique final qui spécifie le type de jointure, l'ordre des jointures, la méthode d'agrégation et la méthode de redistribution des données. Selon les exigences de transmission réseau, l'optimiseur détermine également si le plan doit être fragmenté.

  4. Un nœud exécutant reçoit le plan d'exécution logique final et le convertit en un plan d'exécution physique. Ce dernier se compose d'étapes et d'opérateurs qui traitent les données selon des règles spécifiques.

  5. Le nœud exécutant renvoie les résultats au client ou les écrit dans les tables AnalyticDB for MySQL ainsi que dans des systèmes de stockage externes tels qu'Object Storage Service (OSS).

Concepts du plan d'exécution

Étape

Une étape constitue une partie physique du plan d'exécution. Lors de l'exécution, une requête se divise en plusieurs étapes. Chaque étape :

  • Récupère les données depuis le système de stockage sous-jacent ou via le réseau.

  • Se compose de tâches du même type, distribuées sur différents nœuds exécutants.

  • Exécute ses tâches en parallèle afin de maximiser le débit.

Remarque

La fonctionnalité de diagnostic SQL vous permet de consulter les résultats de diagnostic au niveau des étapes. Pour plus d'informations, reportez-vous à la section Résultats de diagnostic au niveau des étapes.

Tâche

Une tâche représente l'unité d'exécution d'une étape sur un seul nœud exécutant. Chaque étape répartit son travail sur plusieurs tâches du même type, et toutes les tâches s'exécutent en parallèle au sein du cluster.

Opérateur

Un opérateur est l'unité de base de traitement des données dans AnalyticDB for MySQL. AnalyticDB for MySQL détermine si les opérateurs s'exécutent en mode parallèle ou sériel en fonction de leur sémantique et des dépendances entre eux.

Remarque

La fonctionnalité de diagnostic SQL vous permet de consulter les résultats de diagnostic au niveau des opérateurs. Pour plus d'informations, reportez-vous à la section Résultats de diagnostic au niveau des opérateurs.

Exemple : requête d'agrégation par groupe

L'illustration suivante montre l'exécution d'une requête d'agrégation par groupe. Le nœud contrôleur divise le plan d'exécution logique en fragments et les distribue aux nœuds exécutants.

Execute a query plan

Étape Tâches Description
Étape 2 4 Analyse, filtre et agrège partiellement les données en parallèle.
Étape 1 2 Agrège finalement en parallèle les résultats de l'Étape 2.
Étape 0 1 Collecte et renvoie les résultats finaux de l'agrégation provenant de l'Étape 1.

Étapes suivantes