2010-11-04 15 views
1

Mes amis,

Je suis en train de brosser mes connaissances SQL Tuning et il semble que la vue V $ SQLSTATS pourrait être un outil utile à utiliser.

Ma question est, les références à cette vue à la fois dans la documentation et un livre Oracle SQL que je suis en train de lire, mentionnent que cette vue est "plus rapide".

Qu'entend-on par plus rapide? Est-il mis à jour plus fréquemment que v $ sql \ v $ sql_area? ou est-il juste plus rapide d'interroger cette une table plutôt que d'effectuer une jointure sur v $ sql et v $ sql_area

Voici la description de la documentation.

V SQLSTATS $ affiche la performance de base statistiques pour les curseurs SQL et contient une ligne par instruction SQL (qui est, une ligne par valeur unique de SQL_ID). Les définitions de colonne pour les colonnes dans V $ SQLSTATS sont identiques à celles des vues V $ SQL et V $ SQLAREA . Cependant, la V $ SQLSTATS vue diffère de V $ SQL et V $ SQLAREA en qu'il est plus rapide, plus évolutive et a une plus grande rétention de données

Merci d'avance pour toute aide que vous pouvez fournir.

Répondre

3

"Plus rapide" ici serait généralement lié au commentaire "plus évolutif" indiquant qu'il est plus efficace d'interroger V $ SQLSTATS que V $ SQL ou V $ SQLAREA. Étant donné que ces personnes interrogent souvent ces vues par l'intermédiaire d'outils ou de scripts de surveillance de base de données, cela a tendance à être une considération importante. Certaines vues de dictionnaire de données peuvent être étonnamment coûteuses à interroger, de sorte que des outils/scripts mal écrits peuvent générer une charge importante sur la base de données. Si vous faites cela au moment où le système est sous charge et que vous étudiez des problèmes de performance, c'est évidemment problématique.

+0

Merci pour la réponse Justin –