您好:我想把数据库中所有的表,每个有多少条数据全部统计出来,
使用下面的语句可以把所有的表给统计出来
select TABLE_SCHEMA,TABLE_NAME from SYSIBM.tables where TABLE_SCHEMA = 'TEST',
使用
select count(*) from TABLE_NAME可以把表中有多少条数据显示出来,
但是我想在一条语句中完成这个操作,把所有的表名和表中的数据总量显示出来,但是想不出来,请赐教下,呵呵
------解决方案--------------------------------------------------------
你查下 好像是
select A.name,B.rowcnt from sysobjects A,systabstats B
WHERE A.id=B.id
and A.type='U'
这样写吧
具体表名记不得了 不过取系统表之前一定记得runstats 要不然数据不准
------解决方案--------------------------------------------------------
反正就在系统表里面找带tables的表 好像记录数是cards字段 runstats就是更新那个表的 所以执行之前一定要runstats 要不然是不准确的
------解决方案--------------------------------------------------------
Table--包括表的记录数、PAGE、PCTFREE以及COMPRESS等信息,相关的系统视图是:sysstat.tables、syscat.tables。
Columns—包括COLUMNS的数量、长度、分布特征以及COMPRESS等信息,相关的系统视图是:sysstat.columns、syscat. columns。
Index--包括是否存在索引、索引的组织(叶子页的数量和级别的数量)、索引键的离散值的数量以及是否群集索引, 相关的系统视图是:sysstat.indexes、syscat. indexes。
具体是那个字段,我是想不起来了,你可以自己找找。
------解决方案--------------------------------------------------------
不过取系统表之前一定记得runstats 要不然数据不准 ,数据库进行runstats也是很费时间的操作,你要确定这样是否值的。