概述
前面已经介绍了Oracle如何去获取某用户下的所有表的行数,所以就不介绍了,今天主要分享的是怎么去获取mysql数据库下所有表的数据行数,主要介绍3个方法。
1、估算某个数据库下的所有表的记录数
可以用MySQL 自带的information_schema.tables 表的统计信息,初步判断表的数据行大小。
select table_schema,table_name,table_type,table_rows from information_schema.tables where table_schema='fsl_prod' order by table_rows desc;
对于非事务性表, table_rows 这个值是精确的,对于事务性引擎,这个值通常是估算的。例如 MyISAM 存储精确的数目。对于其它存储引擎,比如InnoDB本值是一个大约的数,与实际值相差可达40到50%。在这些情况下,使用SELECT COUNT(*) 来获得准确的数目。对于在information_schema数据库中的表,Rows值为NULL。
2、sql拼接统计某个数据库下的所有表的记录数(有点麻烦)
可以使用如下的 SQL 语句来批量统计数据库中的表的行数:
SELECT CONCAT( 'SELECT "', TABLE_NAME, '