Tous les produits
Search
Centre de documentation

ApsaraDB for OceanBase (Deprecated):Informations de base sur les instructions SQL

Dernière mise à jour :Aug 09, 2026

La fonctionnalité de diagnostic SQL analyse et diagnostique les instructions TopSQL, SlowSQL et Suspicious SQL pour vous aider à optimiser les performances de la base de données.

Concepts de base

Les concepts de base du diagnostic SQL sont les suivants :

  • TopSQL : désigne les instructions SQL dont le temps de réponse global est le plus long dans la plage de temps sélectionnée.

  • SlowSQL : désigne les instructions SQL dont le temps d'exécution dépasse 500 ms.

  • Suspicious SQL : désigne les instructions SQL susceptibles de provoquer des problèmes de performances, filtrées selon des règles et des algorithmes.

Remarque

Le système impose actuellement les restrictions suivantes aux instances de cluster Standard Edition (Key-Value) :

  • Pour les instances de cluster KV dont la version est supérieure ou égale à 4.2.4 mais inférieure à 4.3.0, les informations de diagnostic TopSQL et SlowSQL s'affichent.

  • Pour les instances de cluster KV d'autres versions, seules les informations de diagnostic SlowSQL s'affichent.

TopSQL

TopSQL désigne les instructions SQL dont le temps de réponse global est le plus long dans la plage de temps sélectionnée. Vous pouvez effectuer les opérations suivantes liées à TopSQL :

  • Filtrez les instructions TopSQL à l'aide de filtres rapides, tels que Full Table Scan, Multi-partition scan et Multiple Remote Executions.

  • Cliquez sur View Samples dans la colonne Operation pour afficher l'instruction SQL.

  • Dans la colonne Operation d'une instruction SQL spécifique, cliquez sur image et sélectionnez Set Throttling. Cochez plusieurs instructions SQL pour définir la limitation de débit par lot.

  • Cliquez sur le signe plus (+) devant le texte SQL pour afficher la dernière erreur et le résumé des erreurs durant la période statistique.

  • Cochez l'option Aggregate in en haut à droite de la liste pour afficher les instructions SQL selon le regroupement Aggregation IN, sans toutefois affecter les données statistiques. Sélectionnez plusieurs instructions SQL (y compris celles avec Aggregation IN) pour définir la limitation de débit par lot.

  • Cliquez sur View Optimization Suggestions en haut à droite de la liste pour accéder au centre d'optimisation et consulter les suggestions d'optimisation.

  • Cliquez sur TopSQL Comparison en haut à droite de la liste pour comparer l'exécution de la même instruction SQL lors de différentes périodes sur le même nœud ou durant la même période sur différents nœuds, ainsi que l'exécution d'une seule instruction SQL lors de différentes périodes ou sur différents nœuds.

    • Comparaison de différentes périodes : spécifiez la période de référence et la période de comparaison. Cliquez sur Comparative Analysis pour afficher les sections Comparison of Details et Comparison of Performance Trends.

    • Comparaison de différents nœuds : spécifiez le nœud de référence et le nœud de comparaison. Cliquez sur Comparative Analysis pour afficher les sections Comparison of Details et Comparison of Response Time Trends.

    • Comparaison d'une seule instruction SQL sur différentes périodes : comparez et analysez l'exécution d'une instruction SQL individuelle ou regroupée durant les périodes de référence et de comparaison, puis consultez les métriques Total Database Time Consumption et Total Executions.

    • Comparaison d'une seule instruction SQL sur différents nœuds : comparez et analysez l'exécution d'une instruction SQL individuelle ou regroupée sur différents nœuds d'analyse, puis consultez les métriques Total Database Time Consumption et Total Executions.

      Remarque
      • Deux instructions SQL partageant le même ID SQL dans une même base de données sont considérées comme identiques.

      • La comparaison entre différents nœuds n'est effectuée que si la même instruction SQL est exécutée sur ces nœuds. Dans le cas contraire, aucun résultat de comparaison ne s'affiche.

      • Pour effectuer une analyse comparative d'une seule instruction SQL sur différentes périodes ou différents nœuds, saisissez également l'ID SQL, puis sélectionnez ... > Single SQL Comparison dans la colonne Operation correspondant à l'instruction SQL concernée.

  • Cliquez sur Customize Column en haut à droite de la liste pour personnaliser d'autres métriques selon vos besoins.

    1. Dans la fenêtre contextuelle, définissez l'Column Expression, par exemple (@avgCpuTime * @avgDiskReads) / 2.

    2. Saisissez le Column Name.

    3. Cliquez sur OK.

  • Lorsque l'utilisation du CPU d'un hôte est trop élevée, filtrez les principales instructions SQL par base de données et par nœud, puis triez ces instructions SQL par temps CPU par ordre décroissant afin d'identifier celles qui nécessitent le plus une optimisation.image

SlowSQL

SlowSQL désigne les instructions SQL dont le temps d'exécution dépasse 500 ms.

  • Filtrez les instructions SlowSQL à l'aide de filtres rapides, tels que Full Table Scan, Multi-partition scan et Multiple Remote Executions.

  • Cliquez sur View Samples dans la colonne Operation pour afficher l'instruction SQL.

  • Dans la colonne Operation d'une instruction SQL spécifique, cliquez sur image et sélectionnez Set Throttling. Cochez plusieurs instructions SQL pour définir la limitation de débit par lot.

  • Cochez l'option Aggregate in en haut à droite de la liste pour afficher les instructions SQL selon le regroupement Aggregation IN, sans toutefois affecter les données statistiques. Sélectionnez plusieurs instructions SQL (y compris celles avec Aggregation IN) pour définir la limitation de débit par lot.

  • Pour personnaliser le seuil SlowSQL, sélectionnez ... > Modify Slow SQL Threshold en haut à droite de la liste. Dans la fenêtre contextuelle, ajustez le seuil SlowSQL, puis cliquez sur OK.

Suspicious SQL

Suspicious SQL désigne les instructions SQL susceptibles de provoquer des problèmes de performances, filtrées selon des règles et des algorithmes. Le tableau suivant répertorie les résultats de diagnostic courants et les suggestions de dépannage.

Résultat du diagnostic

Suggestion de dépannage

Hint with no effect

Cela indique une instruction SQL anormale qui nécessite que l'administrateur de base de données (DBA) détermine s'il convient de corriger le plan d'exécution à l'aide d'un outline.

Full table scan with poor performance

Analysez le plan d'exécution et la structure de la table pour garantir que l'instruction SQL dispose d'index appropriés.

Poor performance despite the use of indexes

Vérifiez si les performances sont acceptables dans vos scénarios métier. Si ce n'est pas le cas, améliorez la logique métier ou optimisez les index.

Performance degradation

Vérifiez les changements de distribution des données, les pics de requêtes et les modifications du plan d'exécution.

Plan change accompanied by performance degradation

Consultez le DBA. Vous pouvez utiliser un outline pour figer le plan d'exécution afin de vérifier si l'instruction SQL est anormale.

Execution spikes

Vérifiez le volume métier. Un pic du nombre d'exécutions d'une instruction SQL peut entraîner une baisse des performances globales.

Overhigh CPU load

Vérifiez vos scénarios métier, les changements de distribution des données, l'augmentation des requêtes et les modifications du plan d'exécution.

Suspected lock conflict

L'instruction SQL fait l'objet de nouvelles tentatives, ce qui peut être causé par un conflit de verrouillage. Examinez la logique métier pour déterminer s'il existe un scénario de conflit de verrouillage.

Too many partitions are accessed by the DML statement

Réécrivez l'instruction SQL afin qu'elle prenne en charge l'élimination des partitions (partition pruning).

Suspected buffer table

Vérifiez si la table associée fait l'objet de mises à jour fréquentes.

There may be large and small account numbers

Vérifiez s'il existe un problème de skew des données.

Execution plan instability

Vérifiez s'il existe des problèmes de régression du plan.

Plan generation time is too long

Vérifiez s'il existe des problèmes tels qu'un faible taux de succès du plan (plan hit rate).

L'onglet Suspicious SQL affiche les champs SQL Text, SQL ID, Database, Diagnostic Results, etc.