【Oracle SQL】列出当前表空间内表行数最多的十张表

SQL:

复制代码
select * from
(
    select rownum as sn,a.* from
    (
        select table_name,num_rows
        from user_tables
        where num_rows is not null
        order by num_rows desc
    ) a
) b
where b.sn<11;
复制代码

执行结果:

复制代码
SQL> select * from
  2  (
  3      select rownum as sn,a.* from
  4      (
  5          select table_name,num_rows
  6  from user_tables
  7  where num_rows is not null
  8  order by num_rows desc
  9      ) a
 10  ) b
 11  where b.sn<11;

        SN TABLE_NAME                       NUM_ROWS
---------- ------------------------------ ----------
         1 EMP_TO1                          10000000
         2 EMP_FROM                         10000000
         3 EMP_TO8                          10000000
         4 EMP615_30                        10000000
         5 EMP_TO                           10000000
         6 EMP_30                           10000000
         7 EMP_TO_10                        10000000
         8 EMP_TEST                         10000000
         9 EMP67_30                          6444381
        10 EMP619                            2000000

已选择10行。

SQL>
复制代码

注意点:

如果显示与实际不符,是因为统计滞后的缘故,下面引用的短文说明了原因:

num_rows 是对表做 statistics analysis 后填充,表和索引的统计分析工作,在9i是要手工做的,10i是可以自动做的。但肯定要有延迟。dba_tables显示的表的记录数是对表进行分析以后才与表的真正记录数同步一次的
问:
有没有什么其他办法来实现让它及时同步呢?
答
在要统计的时候来一次同步

exec dbms_stats.gather_table_stats(OWNNAME =>'CSID', TABNAME => 'dba_extents',METHOD_OPT => 'FOR ALL');

以上这段文字来自:https://blog.csdn.net/whhitgen/article/details/8789781

END

posted @   逆火狂飙  阅读(608)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2015-06-22 【高中数学/函数/值域】求函数f(x)=3x-(x+2)^0.5的值域
2014-06-22 【Font】英文字体governor下载
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示