Afficher le plan d'exécution réel avec les statistiques row source (ALLSTATS LAST)
OraclePerformancesCommande
-- 1) Collect row source statistics (for this query only):
SET SERVEROUTPUT OFF
SELECT /*+ gather_plan_statistics */ customer_id, SUM(amount)
FROM customer_app.sales
WHERE created_at >= DATE '2026-06-01'
GROUP BY customer_id;
-- or for the whole session: ALTER SESSION SET statistics_level = ALL;
-- 2) Plan of the last cursor run in the same session (E-Rows vs A-Rows):
SELECT *
FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(
sql_id => NULL,
cursor_child_no => NULL,
format => 'ALLSTATS LAST +PEEKED_BINDS +OUTLINE'));
-- 3) A cursor from another session / from earlier:
SELECT *
FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('<sql_id>', NULL, 'ALLSTATS LAST +PEEKED_BINDS'));Ce que fait la commande
EXPLAIN PLAN est une estimation ; ceci montre le plan réellement exécuté, avec Starts, E-Rows (estimation), A-Rows (réel), A-Time, Buffers et l'utilisation mémoire par étape. C'est le moyen le plus direct de trouver l'étape où commence l'erreur d'estimation de cardinalité.
Quand l'utiliser
Lors du tuning d'un SQL lent isolé, pour prouver le besoin de statistiques/histogrammes, et pour mesurer l'effet d'un hint ou d'un changement d'index.
Attention
Aucune licence requise. Avec SET SERVEROUTPUT ON, sql_id=>NULL affiche l'appel DBMS_OUTPUT comme dernier curseur ; mettez-le d'abord à OFF. N'activez pas statistics_level=ALL à l'échelle du système ; cela ajoute une surcharge CPU notable. Le hint modifie le texte SQL, qui reçoit donc un nouveau sql_id. L'utilisateur a besoin d'un accès en lecture à V$SQL_PLAN_STATISTICS_ALL (SELECT_CATALOG_ROLE).
Voir aussi
- Prendre un snapshot AWR et générer un rapport AWR entre deux snapshots
- Rapport AWR diff (compare period) entre deux périodes
- Principaux événements d'attente et principaux SQL depuis ASH pour les dernières minutes
- Lancer une analyse ADDM et obtenir son rapport
- Obtenir un rapport SQL Monitor (SQL long en cours ou terminé)
- Activer/désactiver la trace 10046 pour une session et la résumer avec TKPROF