当前位置:   article > 正文

oracle查询表的大小,数据条数,回收表空间,查看索引是否有效_oracle统计各个表大小及记录数

oracle统计各个表大小及记录数

1、查询表大小

  1. select segment_name, sum(bytes) / 1024 / 1024 "大小(m)"
  2. from user_segments
  3. where segment_type = upper('table')
  4. and tablespace_name=upper('irfs') --表空间名
  5. and segment_name = upper('dis_zj') --表名
  6. group by segment_name;

2、查询表大小,推荐

  1. select segment_name, sum(bytes) / 1024 / 1024 "大小(m)"
  2. from dba_extents
  3. where segment_type = upper('table')
  4. and owner=upper('mcqhw') --用户名
  5. --and segment_name = upper('dis_zj') --表名
  6. group by owner, segment_name
  7. order by sum(bytes) desc;

3、查询表中数据条数

  1. select table_name,num_rows from sys.all_tables
  2. where owner=upper('mcqhw') --用户名
  3. order by num_rows desc;

4、释放删除的表空间

  1. --开启允许行移动, 此操作后允许rowid改变。
  2. alter table 你的表名 enable row movement;
  3. --回收空间
  4. alter table 你的表名 shrink space;

5、查看是否走索引

同时执行下面的语句

  1. explain plan for 你的sql语句;
  2. select * from table(dbms_xplan.display);
  3. rollback;

有这样一张表,字段f1有索引

  1. -- 创建表
  2. create table test
  3. (
  4. f1 varchar2(3),
  5. f2 varchar2(3)
  6. );
  7. create unique index test_f1 on test (f1); --创建唯一索引

查询条件有索引

  1. explain plan for select * from test t where t.f1 = '1';
  2. select * from table(dbms_xplan.display);
  3. rollback;

 查询条件没有索引

  1. explain plan for select * from test t where t.f2 = '1';
  2. select * from table(dbms_xplan.display);
  3. rollback;

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号