Tous les produits
Search
Centre de documentation

PolarDB:Requête SQL lente

Dernière mise à jour :Aug 26, 2026

Par défaut, PolarDB for MySQL considère comme lente toute instruction SQL dont l'exécution dépasse une seconde et met à disposition une fonctionnalité d'analyse SQL dans la console. Vous pouvez consulter les tendances et les statistiques des journaux de requêtes lentes. De plus, le système fournit des suggestions d'optimisation et une analyse diagnostique pour les requêtes SQL concernées, afin de vous aider à analyser et optimiser en profondeur.

Prérequis (facultatif)

Pour afficher le journal des requêtes lentes, assurez-vous que votre compte dispose de l'autorisation AliyunHDMFullAccess. Pour une gestion plus fine des autorisations, vous pouvez utiliser une stratégie personnalisée pour accorder des autorisations à un utilisateur RAM et ainsi contrôler PolarDB de manière flexible.

Remarque

La longueur maximale d'un journal de requête lente est de 16 Ko. La partie dépassant cette limite est tronquée.

Requêtes SQL lentes

  1. Connectez-vous à la console PolarDB. Dans le volet de navigation de gauche, cliquez sur Clusters. Sélectionnez la région du cluster et cliquez sur l'ID du cluster.

  2. Dans le volet de navigation de gauche, choisissez Diagnostics and Optimization > Slow SQL.

  3. La page Slow SQL comprend les trois onglets suivants :

    Analyse des journaux de requêtes lentes

    Dans l'onglet Slow Log Analysis, sélectionnez une plage horaire pour afficher la tendance des journaux de requêtes lentes, la distribution des événements, les statistiques et les détails des journaux de requêtes lentes sur cette période.

    • Dans le graphique Slow Log Trend , vous pouvez sélectionner un point précis dans le temps pour consulter les Slow Log Statistics et les Slow Log Details correspondants.

      Remarque

      Si une instruction SQL lente est trop longue pour s'afficher entièrement, survolez-la avec le pointeur de la souris pour voir l'instruction complète dans une fenêtre contextuelle.

    • Dans la zone Event Distribution , vous pouvez rechercher des événements de journaux de requêtes lentes sur une plage horaire donnée. Cliquez sur un événement pour en afficher les détails.

    • À partir de la liste déroulante Node ID , vous pouvez visualiser le nombre de requêtes lentes par nœud.

    • Dans les onglets Slow Query Log Statistics et Slow Query Log Details , cliquez sur image pour enregistrer les informations du journal de requêtes lentes sur votre ordinateur.

    • Cliquez sur image pour accéder à la console OpenAPI Explorer. Les paramètres actuellement sélectionnés et saisis sont automatiquement repris pour le débogage de l'API.

    • Dans la zone Slow Log Statistics :

      • Au-dessus de la liste, vous pouvez sélectionner des conditions de filtrage pour affiner les données. Les conditions disponibles varient selon le moteur de base de données.

      • Cliquez sur l'identifiant de données dans la colonne Query ID du modèle SQL cible pour afficher les corrélations et une liste détaillée incluant la distribution des utilisateurs, la distribution des clients et les tendances des métriques.

      • Dans la colonne Actions du modèle SQL cible, cliquez sur Optimize. Dans la boîte de dialogue SQL Diagnostic Optimization qui s'affiche, consultez les résultats du diagnostic SQL.

        Si vous acceptez la suggestion de diagnostic, cliquez sur Copy en haut à droite de la page et collez l'instruction SQL optimisée dans votre client de base de données ou DMS pour l'exécuter. Si vous refusez la suggestion, cliquez sur Cancel pour mettre fin au diagnostic.

        Remarque

        DAS effectue le diagnostic SQL en fonction de la complexité de l'instruction, du volume de données de la table correspondante et de la charge de la base de données. Le retour de la suggestion de diagnostic peut prendre plus de 20 secondes. Une fois le diagnostic terminé, le moteur fournit un résultat, une suggestion d'optimisation et les bénéfices attendus. Vous pouvez décider d'accepter ou non la suggestion en fonction du résultat.

      • Dans la colonne Actions du modèle SQL cible, cliquez sur Throttling. Sur la page SQL Throttling , configurez les paramètres de limitation pour appliquer une restriction de débit à l'instruction SQL cible. Pour plus d'informations, consultez Limitation de débit SQL.

      • Pour une instance de base de données PolarDB for MySQL , cliquez sur IMCI dans la colonne Actions du modèle SQL cible pour afficher la documentation relative à In-Memory Column Index (IMCI).

        Remarque
        • Le bouton IMCI s'affiche si une instance de base de données PolarDB for MySQL ne possède pas de nœud In-Memory Column Index, si la valeur Max Execution Time d'un journal de requête lente dépasse 20 secondes et si le nombre de Max Scanned Rows dépasse 200 000.

        • Pour les requêtes complexes traitant de grands volumes de données, vous pouvez utiliser In-Memory Column Index (IMCI) afin d'améliorer les performances des requêtes.

    • Dans la zone Slow Log Details , vous pouvez également cliquer sur Optimize et Throttling dans la colonne Actions d'une instruction SQL cible pour effectuer respectivement une SQL Diagnostic Optimization et une SQL Throttling .

    Optimisation automatique des requêtes SQL

    Sur la page Automatic SQL optimization suggestions, sélectionnez une plage horaire.

    Enable Automatic SQL Optimization : cette fonctionnalité identifie automatiquement les requêtes SQL problématiques, génère des suggestions d'optimisation d'index et crée les index sans verrouiller les tables.

    Remarque

    Pour plus d'informations, consultez Optimisation automatique des requêtes SQL.

    Gouvernance des requêtes

    Sur la page Query Governance , consultez les résultats de la gouvernance des requêtes.

    • Aperçu des résultats de la gouvernance des requêtes : affichez les données de résultats catégorisées et étiquetées par le système.

      Remarque

      Seules les Failed SQL Executions des instances pour lesquelles DAS Enterprise Edition est activé sont comptabilisées.

    • Tendances de la gouvernance des requêtes : visualisez l'évolution des résultats de la gouvernance des requêtes sur la plage horaire sélectionnée.

    • Top Rankings : consultez les listes des Best-performing Instances et des Worst-performing Instances .

      • Worst-performing Instances : affiche le nombre d'exécutions de requêtes SQL lentes pour chaque instance de base de données.

      • Best-performing Instances : affiche la variation du nombre d'exécutions de requêtes SQL lentes pour chaque instance de base de données. Une valeur négative indique une diminution des exécutions, tandis qu'une valeur positive indique une augmentation.

      DAS recommande de porter une attention particulière aux classements concernant les Optimizable SQL .

    • SQL to Be Optimized : définissez des critères de filtrage pour identifier les requêtes SQL nécessitant une gouvernance.

      Remarque

      Vous pouvez filtrer par nom de base de données, mot-clé SQL, étiquette de règle et nom d'utilisateur de base de données. Ces filtres sont combinés avec un opérateur logique AND.

      • Plusieurs noms de bases de données sont séparés par des virgules (,) et combinés avec un opérateur logique OR.

      • Plusieurs mots-clés SQL sont séparés par des espaces et combinés avec un opérateur logique AND.

      • Plusieurs noms d'utilisateurs de base de données sont séparés par des virgules (,) et combinés avec un opérateur logique OR.

      • Vous pouvez sélectionner plusieurs étiquettes de règles. Les étiquettes sélectionnées sont combinées avec un opérateur logique OR.

      • Dans la colonne Actions d'un échantillon SQL cible, cliquez sur Suggestions pour afficher les recommandations détaillées de gouvernance.

      • Dans la colonne Actions d'un échantillon SQL cible, cliquez sur Add Tag pour étiqueter manuellement la requête SQL. Pour plus d'informations sur les étiquettes, consultez Étiquettes SQL prenant en charge l'étiquetage manuel.

        Vous pouvez également sélectionner plusieurs requêtes SQL pour les étiqueter en lot.

      • Dans la colonne Actions d'un échantillon SQL cible, cliquez sur Sample pour afficher les détails de l'échantillon de journal de requête lente correspondant à cette requête.

      • Dans la colonne Actions d'un échantillon SQL cible, cliquez sur Trend pour afficher les détails de l'analyse du journal de requêtes lentes pour cette requête. Pour plus d'informations sur l'analyse des journaux de requêtes lentes, consultez Journal de requêtes lentes.

      Vous pouvez exporter et partager les données des requêtes SQL à optimiser. Pour plus d'informations, consultez Journal de requêtes lentes.

    • Failed SQL : définissez des critères de filtrage pour identifier les requêtes SQL que vous souhaitez afficher.

      Remarque
      • Seules les requêtes Failed SQL des instances pour lesquelles DAS Enterprise Edition est activé sont comptabilisées.

      • Vous pouvez filtrer par nom de base de données et mot-clé SQL. Ces filtres sont combinés avec un opérateur logique AND.

        • Plusieurs noms de bases de données sont séparés par des virgules (,) et combinés avec un opérateur logique OR.

        • Plusieurs mots-clés SQL sont séparés par des espaces et combinés avec un opérateur logique AND.

      Dans la colonne Actions d'un échantillon SQL cible, cliquez sur Sample pour afficher les détails de cet échantillon SQL.

Seuil des requêtes SQL lentes

Accédez à la page Settings and Management > Parameters dans la console PolarDB et définissez le paramètre long_query_time pour ajuster le seuil des requêtes SQL lentes.

Parameter

Description

long_query_time

Enregistre dans le journal de requêtes lentes toutes les requêtes dont le temps d'exécution dépasse la valeur du paramètre.

Plage de valeurs : 0,03 à 31536000. Valeur par défaut : 1. Unité : secondes.

FAQ

Pourquoi l'heure de fin enregistrée dans le journal de requêtes lentes diffère-t-elle du temps d'exécution réel de la requête SQL ?

Ce problème survient généralement lorsqu'une requête SQL modifie le fuseau horaire. Le journal de requêtes lentes enregistre le temps d'exécution selon une hiérarchie de fuseaux horaires : il vérifie d'abord le fuseau horaire au niveau de la base de données. S'il n'est pas défini, il utilise le fuseau horaire au niveau du système. Lorsqu'une requête SQL modifie le fuseau horaire au niveau de la session, la conversion du fuseau horaire dans le journal de requêtes lentes peut être incorrecte.

Comment trouver les requêtes SQL lentes ?

Vous pouvez identifier les requêtes SQL lentes de différentes manières :

  • Interrogez directement les requêtes SQL lentes dans la console. Pour plus d'informations, consultez Requête SQL lente.

  • Connectez-vous au cluster de base de données et exécutez la commande show processlist pour repérer les requêtes de longue durée. Pour savoir comment vous connecter à un cluster de base de données, consultez Connexion à un cluster de base de données.

Bonnes pratiques

Utilisation élevée du processeur pour PolarDB for MySQL

API associées

API

Description

DescribeSlowLogs

Interroge les statistiques des journaux de requêtes lentes pour un cluster PolarDB for MySQL .

DescribeSlowLogRecords

Interroge les détails des journaux de requêtes lentes pour un cluster PolarDB for MySQL .

DescribeDBClusterAuditLogCollector

Vérifie si les fonctionnalités de collecte SQL, telles que le journal d'audit et SQL Explorer , sont activées pour un cluster PolarDB for MySQL .

ModifyDBClusterAuditLogCollector

Active ou désactive les fonctionnalités de collecte SQL, telles que le journal d'audit et SQL Explorer , pour un cluster PolarDB for MySQL .