OK.Давайте начнем с выяснения, откуда TOAD получает числа, на которые вы смотрите
Что
SELECT sum(bytes)/1024/1024/1024 size_in_gb,
sum(blocks) size_in_blocks
FROM dba_segments
WHERE owner = <<owner of table>>
AND segment_name = <<name of table>>
возвращает для размера таблицы?
Что означает
SELECT num_rows, blocks, empty_blocks, avg_row_len, last_analyzed
FROM all_tables
WHERE owner = <<owner of table>>
AND table_name = <<name of table>>
возвращает статистику в таблице?
Что
SELECT COUNT(*)
FROM <<owner of table>>.<<name of table>>
возвращает для фактического количества строк в таблице?
Что
DECLARE
l_unformatted_blocks number;
l_unformatted_bytes number;
l_fs1_blocks number;
l_fs1_bytes number;
l_fs2_blocks number;
l_fs2_bytes number;
l_fs3_blocks number;
l_fs3_bytes number;
l_fs4_blocks number;
l_fs4_bytes number;
l_full_blocks number;
l_full_bytes number;
BEGIN
dbms_space.space_usage (<<table owner>>, <<table name>>, 'TABLE',
l_unformatted_blocks, l_unformatted_bytes,
l_fs1_blocks, l_fs1_bytes, l_fs2_blocks, l_fs2_bytes,
l_fs3_blocks, l_fs3_bytes, l_fs4_blocks, l_fs4_bytes,
l_full_blocks, l_full_bytes);
dbms_output.put_line('Unformatted Blocks = '||l_unformatted_blocks);
dbms_output.put_line('FS1 Blocks = '||l_fs1_blocks);
dbms_output.put_line('FS2 Blocks = '||l_fs2_blocks);
dbms_output.put_line('FS3 Blocks = '||l_fs3_blocks);
dbms_output.put_line('FS4 Blocks = '||l_fs4_blocks);
dbms_output.put_line('Full Blocks = '||l_full_blocks);
END;
показывает, как используются блоки в таблице?
Были ли строки обновлены после 14 января в 14:02:29?В частности, возможно ли, что было вставлено несколько строк, которые были относительно небольшими, но затем были обновлены, чтобы иметь гораздо больший размер?Изменится ли что-нибудь, если вы повторно соберете статистику для таблицы
BEGIN
dbms_stats.gather_table_stats( ownname => <<owner of table>>,
tabname => <<name of table>>,
estimate_percent => null,
granularity => 'ALL' );
END;