0

我一直试图弄清楚这一点。我想知道我的表正在使用多少数据块。这些表有大量的行,大约 200,000。但是当我运行以下查询时:

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

我得到以下输出:

TABLE1    0
TABLE2    0
TABLE3    0

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

4

1 回答 1

2

该信息仅在您收集统计信息(使用dbms_stats软件包)时更新。这不是动态视图。

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

于 2013-08-09T08:48:27.833 回答