求助,请问除了count(*)和查看user_tables等系统表,还有没有其他办法获取到数据库里每张表的记录数?因为数据量太大所以count太慢。。
我需要维护大概二十多个数据库,每个数据库表的记录都很多,大概几千万的样子,而且不断地会有新数据插入进来,我的工作就是监控每个数据库,获取到每张表每次增加的数据,存到另外一张单独的表中。
我的思路是隔几小时遍历一次每个库的每张表,对其count然后存到另外一张专门用于维护这些信息的表,然而有的表数据量太大,count需要很长很长时间,二三十分钟的样子,目前一共1000多张表,程序运行了一夜也没有把所有表统计完。所以请教大家还有没有其他比较快点的替代方法?
我的思路是隔几小时遍历一次每个库的每张表,对其count然后存到另外一张专门用于维护这些信息的表,然而有的表数据量太大,count需要很长很长时间,二三十分钟的样子,目前一共1000多张表,程序运行了一夜也没有把所有表统计完。所以请教大家还有没有其他比较快点的替代方法?
...全文
相关推荐
查看ORACLE 数据库及表信息
查看表的记录数为了获取所有表的记录数,可以通过创建一个临时表并插入每张表的记录数来实现:```sqlCREATE TABLE table_count (table_name VARCHAR2(50),
oracle 批量查询每张表的数据量
在 Oracle 中批量查询每张表的数据量,可以通过以下两种方法实现。语句并执行,直接统计每张表的实际行数。字段,该字段记录了表的行数统计信息。(所有表,需DBA权限)中的。通过 PL/SQL 动态生成。
Java实现获得MySQL数据库中所有表的记录总数可行方法
COUNT(*) FROM table_name`查询来获取每张表的记录数。
Oracle Mysql DM等数据库统计表数据量和条数.docx
二、Oracle统计表数据量和条数在Oracle中,可以使用用户表(USER_TABLES)或dba_tables视图来统计表数据量和条数。
Oracle中一次查询多表记录数的3种方式.pdf
这种方法旨在解决`DBA_TABLES`视图不能实时反映数据表记录数的问题。两步查询法的基本思路是首先构建一个包含表名和COUNT(*)函数的查询列表,然后执行这个列表以获取每个表的记录数。


