Categories: Mysql业界数据库

获取MySQL数据库中所有表的记录行数

上次写过一篇文章,获取mysql表中各个表的物理存储大小,有个这个可以及时发现业务中新增的大表,但是在某些场景中物理的size不大,记录行数很大,一般来说当一个表的数据量超过2千万行时,数据库的性能就会急剧的下降,此时就要采取相应的措施比如分表、分库、数据归档等。那么如何获取MySQL数据库中所有表的记录行数就很重要了。

为了获得MySQL表中所有记录的计数,我们可以将TABLE_ROWS与聚合函数SUM结合使用。语法如下。

mysql> SELECT SUM(TABLE_ROWS)
   ->FROM INFORMATION_SCHEMA.TABLES
   ->WHERE TABLE_SCHEMA = 'test';

应用上述语法以获取所有表的记录数。查询如下-

+-----------------+
| SUM(TABLE_ROWS) |
+-----------------+
|             450 |
+-----------------+
1 row in set (13.54 sec)

要显示每个表的所有记录的计数,请使用以下查询-

mysql> SELECT table_name, table_rows
   ->FROM INFORMATION_SCHEMA.TABLES
   ->WHERE TABLE_SCHEMA = 'test';

以下是输出:

+------------------------------------------------------------------+------------+
| TABLE_NAME                                                       | TABLE_ROWS |
+------------------------------------------------------------------+------------+
| add1daydemo                                                      |          2 |
| addcheckconstraintdemo                                           |          0 |
| addcolumntable                                                   |          0 |
| addconstraintdemo                                                |          2 |
| adding5hours                                                     |          2 |
5.0
01
seo关键词密度的定义
每日一句话科技资讯 | 20200701
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

bash数组详解

数组是使用最广泛且基础的数据结…

12小时 ago

SEOJuice一款AI内链优化工具

SEOJuice是一款创新的工…

2天 ago

全球货币导航网页上线了!

o在全球化的今天,货币兑换和国…

2天 ago

bash字符串拼接

在编程中,字符串的拼接是一个非…

2天 ago