Recette avec les stats d’Oracle

Voici un petit moyen de tester rapidement une table en recette.

Un des tests « génériques » pour voir si une colonne est bien chargée est de voir :
– si toutes les valeurs de la colonne ne sont pas nulles
Рsi on a des valeurs diff̩rentes dans la colonne

Pour cela, on peut écrire 2, voire une seule requête.
Par contre, si on a plusieurs colonnes, il faut soir écrire plusieurs requêtes, soit une seule requête très complexe.

Un autre moyen est d’utiliser les stats d’Oracle, qui vont effectuer ces calculs pour nous !

Tout d’abord, il faut calculer les stats ( attention, je dis bien calculer, et non estimer ) :

-- ( Oracle 10g )
analyze table &TABLE.&OWNER compute statistics;

Ensuite il suffit de requêter la table des stats :

SELECT
  column_name,  
  num_distinct "nb val distinctes",  
  num_nulls "nb val nulles",
  sample_size "nb lignes"
FROM all_tab_columns
WHERE table_name='&TABLE' and owner='&OWNER'
ORDER by column_id;

Filtrer sur num_nulls>0 ou num_distinct=1 par exemple.

Attention, il ne faut pas oublier après de recetter aussi les données fonctionnellement !!!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>