1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| 1) ANALYZE TABLE ANNEEJOURS COMPUTE STATISTICS FOR ALL COLUMNS;
puis
2)
SELECT
Z.NBNULL,
Z.NBCOLUMNS,
Z.NBLIGNES,
(Z.NBLIGNES * Z.NBCOLUMNS) AS NBDATA,
((Z.NBLIGNES * Z.NBCOLUMNS) - Z.NBNULL) / (Z.NBLIGNES * Z.NBCOLUMNS) AS DENSITE
FROM
(SELECT A.TABLE_NAME, A.NUM_ROWS AS NBLIGNES, count(B.COLUMN_NAME)AS NBCOLUMNS, sum(B.NUM_NULLS) AS NBNULL
FROM USER_TAB_COLUMNS B, USER_TABLES A
WHERE A.TABLE_NAME = B.TABLE_NAME
AND A.TABLE_NAME = 'ANNEEJOURS'
GROUP BY A.TABLE_NAME, A.NUM_ROWS) |
Partager