在Oracle中查看已使用的数据块

时间:2013-08-09 08:43:01

标签: sql oracle11g

我一直试图解决这个问题。我想知道我的表使用了多少数据块。这些表有大量的行,大约200,000行。但是当我运行以下查询时:

select table_name, blocks from all_tables where owner='me';

我得到以下输出:

TABLE1    0
TABLE2    0
TABLE3    0

以及所有我的桌子等等。为什么会这样?是否正确读取了总使用的数据块,还是需要做些什么来纠正它?

1 个答案:

答案 0 :(得分:2)

只有在收集统计信息时才会更新该信息(使用dbms_stats包)。这不是一个动态的观点。

获取此信息的另一种方法是通过dba_segments视图而不是dba_tables。这虽然相当昂贵/缓慢。