获取MySQL数据库中所有表的记录行数
嘻嘻发布于2020-07-01
浏览上次写过一篇文章,获取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 |