Bonjour tout le monde,
Sur une base j'ai noté un script qui s'exécute pour nettoyer les snapshots AWR de plus de 31 jours.
il n'y en a que 24 pour ce delete à supprimer (24 par jour).
Code : Sélectionner tout - Visualiser dans une fenêtre à part delete from WRM$SNAPSHOT_DETAILS where dbid = xx and snap_id >=0 and snap_id <= 2500;
Le plan d'exécution est un full table scan.
Ce qui m'interloque c'est que le nombre de physical reads est de 30 000 (trente mille) et le nombre de buffer gets de 8 000 000 (8 millions) pour une seule exécution
Est-ce que vous pourriez m'expliquer ce ratio de 250?
J'avais pensé à une histoire de FK et le fait que le DELETE génère N SELECTs sous le capot pour valider le DELETE. Mais, sauf erreur de ma part, cela n'explique pas ce ratio immense et, de toute façon, les blocs lus pour ces SELECTs ne doivent pas apparaître dans le plan d'exécution ou dans les stats de cet ordre SQL.
Partager