mysql中怎么查看哪些表数据量比较大

发布时间:2021-07-24 16:36:31 作者:Leah
来源:亿速云 阅读:662

这篇文章给大家介绍mysql中怎么查看哪些表数据量比较大,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

mysql如何查看哪些表数据量比较大

      中有几十上百张表,那么哪些表的数据量比较大呢,总不能一个表一个表的去查询吧,在中也有类似于oracle的数据字典表,只不过mysql没有oracle记录的那么多和详细,但也足够我们查询这些信息了。
           在mysql的information_schema下有存储数据库基本信息的数据字典表,可以通过查询tables表来获得所需要的表相关信息。
  www.2cto.com  
      mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
|mysql             |
|report            |
| report_result      |
|test              |
+--------------------+
5 rows in set (0.02 sec)
 
mysql> use information_schema;
Database changed
mysql> show tables;
+---------------------------------------+
|Tables_in_information_schema         |
+---------------------------------------+
|CHARACTER_SETS                       |
|COLLATIONS                           |
| COLLATION_CHARACTER_SET_APPLICABILITY |
|COLUMNS                              |
|COLUMN_PRIVILEGES                    |
|KEY_COLUMN_USAGE                     |
|PROFILING                            |
|ROUTINES                             |
|SCHEMATA                             |
|SCHEMA_PRIVILEGES                    |
|STATISTICS                           |
|TABLES                               |
|TABLE_CONSTRAINTS                    |
|TABLE_PRIVILEGES                     |
|TRIGGERS                             |
|USER_PRIVILEGES                      |
|VIEWS                                |
+---------------------------------------+
17 rows in set (0.00 sec)
 
那么我们查看一下talbes表结构信息,看看存储的具体信息
  www.2cto.com  
mysql> desc tables;
+-----------------+--------------+------+-----+---------+-------+
| Field           |Type         | Null | Key | Default |Extra |
+-----------------+--------------+------+-----+---------+-------+
| TABLE_CATALOG   | varchar(512) | YES |     | NULL   |       |
| TABLE_SCHEMA    | varchar(64)  | NO  |     |        |       |
| TABLE_NAME      | varchar(64)  | NO  |     |        |       |
| TABLE_TYPE      | varchar(64)  | NO  |     |        |       |
| ENGINE          |varchar(64)  | YES  |     |NULL    |       |
| VERSION         |bigint(21)   | YES  |     |NULL    |       |
| ROW_FORMAT      | varchar(10)  | YES |     | NULL   |       |
| TABLE_ROWS      | bigint(21)   | YES |     | NULL   |       |
| AVG_ROW_LENGTH  | bigint(21)   | YES |     | NULL   |       |
| DATA_LENGTH     | bigint(21)   | YES |     | NULL   |       |
| MAX_DATA_LENGTH | bigint(21)   | YES |     | NULL   |       |
| INDEX_LENGTH    | bigint(21)   | YES |     | NULL   |       |
| DATA_FREE       | bigint(21)   |YES  |     | NULL   |       |
| AUTO_INCREMENT  | bigint(21)   | YES |     | NULL   |       |
| CREATE_TIME     | datetime     |YES  |     | NULL   |       |
| UPDATE_TIME     | datetime     |YES  |     | NULL   |       |
| CHECK_TIME      | datetime     |YES  |     | NULL   |       |
| TABLE_COLLATION | varchar(64)  | YES  |     |NULL    |       |
| CHECKSUM        | bigint(21)   |YES  |     | NULL   |       |
| CREATE_OPTIONS  | varchar(255) | YES  |     |NULL    |       |
| TABLE_COMMENT   | varchar(80)  | NO  |     |        |       |
+-----------------+--------------+------+-----+---------+-------+
21 rows in set (0.00 sec)
 
主要存储了表的信息如表使用的引擎,表的类型等信息。我们可以通过查询table_rows属性获得哪些表数据量比较大。
 
mysql> select table_name,table_rows from  tables order by table_rows desc limi 10;
 
+---------------+------------+
  www.2cto.com  
| table_name    |table_rows |
 
+---------------+------------+
 
| task6        |    1558845 |
 
| task         |    1554399 |
 
| task5        |    1539009 |
 
| task3        |    1532169 |
 
| task1        |    1531143 |
 
| task2        |    1531143 |
 
| task4        |    1521225 |
 
| task7        |     980865 |
 
我们继续深入思考,这些存储的数据是否准确,是否真实的反应了表中数据量大小?
 
mysql> show create table tables \G;
 
*************************** 1. row***************************
      Table: TABLES
  www.2cto.com  
Create Table: CREATE TEMPORARY TABLE`TABLES` (
 
 `TABLE_CATALOG` varchar(512) default NULL,
 
 `TABLE_SCHEMA` varchar(64) NOT NULL default '',
 
 `TABLE_NAME` varchar(64) NOT NULL default '',
 
 `TABLE_TYPE` varchar(64) NOT NULL default '',
 
 `ENGINE` varchar(64) default NULL,
 
 `VERSION` bigint(21) default NULL,
 
 `ROW_FORMAT` varchar(10) default NULL,
 
 `TABLE_ROWS` bigint(21) default NULL,
 
 `AVG_ROW_LENGTH` bigint(21) default NULL,
 
 `DATA_LENGTH` bigint(21) default NULL,
 
 `MAX_DATA_LENGTH` bigint(21) default NULL,
 
 `INDEX_LENGTH` bigint(21) default NULL,
 
 `DATA_FREE` bigint(21) default NULL,
 
 `AUTO_INCREMENT` bigint(21) default NULL,
 
 `CREATE_TIME` datetime default NULL,
 
 `UPDATE_TIME` datetime default NULL,
 
 `CHECK_TIME` datetime default NULL,
 
 `TABLE_COLLATION` varchar(64) default NULL,
 
 `CHECKSUM` bigint(21) default NULL,
  www.2cto.com  
 `CREATE_OPTIONS` varchar(255) default NULL,
 
 `TABLE_COMMENT` varchar(80) NOT NULL default ''
 
) ENGINE=MEMORY DEFAULTCHARSET=utf8
 

关于mysql中怎么查看哪些表数据量比较大就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. MongoDB数据量较大时如何构建索引--减少业务最少影响
  2. mysql查看被锁住的表

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql

上一篇:MySQL中怎么利用索引优化ORDER BY排序语句

下一篇:mysql中怎么查看当前数据库

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》