Vue d'ensemble de l'analyse des plans d'exécution - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Vue d'ensemble de l'analyse des plans d'exécution

Vous pouvez utiliser le tableau de bord Amazon RDS Performance Insights pour savoir quels plans contribuent le plus à la charge de base de données pour les instances de base de données Oracle et SQL Server.

Par exemple, les principales instructions SQL à un moment donné peuvent utiliser les plans présentés dans la table suivante.

Top SQL (Principaux éléments SQL) Plan

SELECT SUM(amount_sold) FROM sales WHERE prod_id = 10

Plan A

SELECT SUM(amount_sold) FROM sales WHERE prod_id = 521

Plan B

SELECT SUM(s_total) FROM sales WHERE region = 10

Plan A

SELECT * FROM emp WHERE emp_id = 1000

Plan C

SELECT SUM(amount_sold) FROM sales WHERE prod_id = 72

Plan A

Avec la fonction de plan de Performance Insights, vous pouvez effectuer les opérations suivantes :

  • Découvrez quels plans sont utilisés par les principales requêtes SQL.

    Par exemple, vous pouvez découvrir que la majeure partie de la charge de base de données est générée par des requêtes utilisant le plan A et le plan B, avec seulement un faible pourcentage utilisant le plan C.

  • Comparez différents plans pour la même requête.

    Dans l'exemple précédent, trois requêtes sont identiques à l'exception de l'ID du produit. Deux requêtes utilisent le plan A, mais une requête utilise le plan B. Pour voir la différence entre les deux plans, vous pouvez utiliser Performance Insights.

  • Découvrez quand une requête est passée à un nouveau plan.

    Vous pouvez voir qu'une requête a utilisé le plan A, puis est passée au plan B à un moment donné. Y a-t-il eu un changement dans la base de données à ce moment ? Par exemple, si une table est vide, l'optimiseur peut choisir une analyse complète de table. Si la table est chargée avec un million de lignes, l'optimiseur peut passer à une analyse de plage d'index.

  • Examinez les étapes spécifiques d'un plan présentant le coût le plus élevé.

    Par exemple, une requête de longue durée peut indiquer l'absence d'une condition de jointure dans une équijointure. Cette condition manquante mène à une jointure cartésienne, qui joint toutes les lignes de deux tables.

Vous pouvez effectuer les tâches précédentes à l'aide de la fonction de capture de plan de Performance Insights. Tout comme vous pouvez découper les requêtes en fonction des événements d'attente et du code SQL le plus élevé, vous pouvez les découper en fonction de la dimension du plan.