Bonjour, je recherche de meilleur moyen de définir au mieux la Taille d'une Table et d'un Index.
Afin de connaître la place que je vais récupérer si je supprime des objets.

J'ai donc regardé les différents posts sur le sujet et j'ai utilisé les tables all_tables et dba_semgents.
Cependant je ne trouve pas les même données, cela va du simple au double est ce normal ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
SQL> SELECT value FROM v$parameter WHERE name='db_block_size';
 
VALUE
--------------------------------------------------------------------------------
8192
 
SQL> SELECT d.bytes/1024/1024,segment_name FROM dba_segments d WHERE segment_name like 'MA_TABLE';
 
D.BYTES/1024/1024
-----------------
SEGMENT_NAME
--------------------------------------------------------------------------------
            ,9375
MA_TABLE
 
 
SQL>  
SQL> SELECT (blocks*8192)/1024/1024 AS "Taille en Mo" FROM all_tables WHERE table_name='MA_TABLE';
 
Taille en Mo
------------
      ,40625
 
SQL> 
SQL> ANALYZE TABLE MA_TABLE COMPUTE STATISTICS;
 
Table analysée.
 
SQL> 
SQL> SELECT d.bytes/1024/1024,segment_name FROM dba_segments d WHERE segment_name like 'MA_TABLE';
 
D.BYTES/1024/1024
-----------------
SEGMENT_NAME
--------------------------------------------------------------------------------
            ,9375
MA_TABLE
 
 
SQL>  
SQL> SELECT (blocks*8192)/1024/1024 AS "Taille en Mo" FROM all_tables WHERE table_name='MA_TABLE';
 
Taille en Mo
------------
      ,40625
Pourtant j'ai refait les stats !