发布于 2016-03-28 22:46:29 | 163 次阅读 | 评论: 0 | 来源: 网友投递
Mysql关系型数据库管理系统
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
如果想知道MySQL数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的 information_schema 数据库。在该库中有一个 TABLES 表,这个表主要字段分别是:
TABLE_SCHEMA : 数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小
其他字段请参考MySQL的手册,这几个字段对我们来说最有用。
一个表占用空间的大小,相当于是 数据大小 + 索引大小,
示例:
1.想查看hx库的所有表大小,可以使用:
SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA='hx';
+-------------------+--------------------------+------------+
| TABLE_NAME | DATA_LENGTH+INDEX_LENGTH | TABLE_ROWS |
+-------------------+--------------------------+------------+
| enjoy_data | 6979584 | 70113 |
| hx_record | 113410048 | 753279 |
| itlearner_record | 21835546624 | 104917777 |
| tmp_day_id | 17326 | 811 |
+-------------------+--------------------------+------------+
SELECT DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA='hx' AND TABLE_NAME = 'enjoy_data';
+--------------------------+------------+
| DATA_LENGTH+INDEX_LENGTH | TABLE_ROWS |
+--------------------------+------------+
| 6979584 | 70113 |
+--------------------------+------------+