Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

💚 4)ORACLE : Tuning SQL & plans d’exécution

Objectif : optimiser le SQL de manière durable : lecture de plans (DBMS_XPLAN), réduction I/O & CPU, élimination des anti-patterns, réécritures, gestion des bind variables, et usage prudent des hints (stabilité + rollback).

4.1

Lire un plan : DBMS_XPLAN (vrai usage)

PLAN_TABLE vs cursor cache, ALLSTATS LAST, predicates, rows, bytes, A-Rows vs E-Rows.

E-RowsA-RowsPredicates
4.2

Anti-patterns SQL (Top 15)

SELECT *, fonctions sur colonnes, OR, LIKE %%, DISTINCT abusif, implicit conversions, N+1, etc.

N+1Implicit convLIKE %%
4.3

Réécritures & accès

Réduire cardinalité tôt, pousser predicates, EXISTS vs IN, JOIN order, semi-joins, pagination.

Predicate pushdownEXISTSPagination
4.4

Bind variables : performance & stabilité

Hard parse, cursor sharing, bind peeking/sensitivity, skew, paramètres “pièges”.

Hard parseACSSkew
4.5

Indexes : choisir, valider, éviter

Clustering factor, sélectivité, composite, covering index, index-only, sur-indexation.

CompositeClusteringCovering
4.6

Hints (avec prudence) & stabilité (SPM)

Quand hint = rustine, quand baseline = solution. SQL patch/profile : gouvernance + rollback.

HintsBaselinesRollback
A

Diagrammes (Mermaid-ready)

Workflow SQL tuning, boucle “plan → preuve → fix”, et arbre de décision hints/index.

pédagocopiable
B

Commandes & scripts (DBMS_XPLAN + V$)

display_cursor, SQL_ID, plan_hash_value, predicates, peeked binds, A-Rows vs E-Rows.

DBMS_XPLANV$SQL
C

Runbook SQL tuning (template)

Identifier SQL_ID, capturer plan & métriques, tester rewrite/index, valider, rollback.

industrialiseravant/après