首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

小弟我想查看一个表有多大

2012-04-01 
我想查看一个表有多大我想查看一个表有多大,于是我先分析下该表,analyze table table_name compute statis

我想查看一个表有多大
我想查看一个表有多大,
于是我先分析下该表,analyze table table_name compute statistics;
然后select * from user_table where table_name = '';
然后发现有个字段是 sample_size,请问这个是表大小吗?如果是它的单位是什么,怎么看?如果是不那表大小怎么看呢?

[解决办法]
数据字典 user_tables 数字字典中包含了你所需要的信息,比如表中存储的记录数 NUM_OWS,所占用的数据块数BLOCKS等。 但需要对你要关注的那张表进行统计分析user_tables 数据字典中的这些数据才是准确的, 对表进行分析的方法:
在 sqlpluse 中执行:
analyze table table_name compute statistics; 
或者执行 oracle 系统包:
exec DBMS_STATS.GATHER_TABLE_STATS(.....); 
然后查询user_tables ,里面有初始空间,空闲空间,已用空间等等参数.
[解决办法]

探讨
我想查看一个表有多大,
于是我先分析下该表,analyze table table_name compute statistics;
然后select * from user_table where table_name = '';
然后发现有个字段是 sample_size,请问这个是表大小吗?如果是它的单位是什么,怎么看?如果是不那表大小怎么看呢?

[解决办法]
刚刚楼上的解释有点儿问题,上面的方法是某个表空间,只包含一张表的做法。
如果包含多张的话,表的大小,就不能那么看了。
[解决办法]
探讨
我想查看一个表有多大,
于是我先分析下该表,analyze table table_name compute statistics;
然后select * from user_table where table_name = '';
然后发现有个字段是 sample_size,请问这个是表大小吗?如果是它的单位是什么,怎么看?如果是不那表大小怎么看呢?

[解决办法]
查对应的segment大小.一般的表一般对应一个同名的segment.分区表,簇例外.
[解决办法]
SQL code
SELECT table_name, NUM_ROWS, BLOCKS*8/1024/1024 "Size M", EMPTY_BLOCKS, LAST_ANALYZED from user_tables where table_name='EMP';
[解决办法]
不想记sql的话 可以装个toad,直接从toad里查就可以了
[解决办法]
表的大小查询是这样的 :

 select sum(bytes)/1024/1024||'M' size from user_segments t where t.segment_name= 'table_name'

这样查询出的是表的大小单位是 M

[解决办法]
SQL code
SQL> select blocks*8.192/1024 from user_tables where lower(table_name) = 'v3x_org_member';BLOCKS*8.192/1024-----------------            4.016SQL> select sum(bytes)/1024/1024/*,segment_name*/ from user_segments  where lower(segment_name) = 'v3x_org_member';SUM(BYTES)/1024/1024/*,SEGMENT_NAME*/-------------------------------------                                    4 

热点排行