Mysql 相关命令

查看数据库大小

1
2
3
4
5
6
7
8
#进去指定 schema 数据库(存放了其他的数据库的信息)
use information_schema;
#查询所有数据的大小
SELECT CONCAT(ROUND(SUM(DATA_LENGTH/1024/1024), 2), 'MB') AS data FROM TABLES;
#查看指定数据库实例的大小, 比如说数据库 test
SELECT CONCAT(ROUND(SUM(DATA_LENGTH/1024/1024), 2), 'MB') AS data FROM TABLES WHERE table_schema='test';
#查看指定数据库的表的大小, 比如说数据库 test 中的 user 表
SELECT CONCAT(ROUND(SUM(DATA_LENGTH/1024/1024), 2), 'MB') AS data FROM TABLES WHERE table_schema='test' AND table_name='user';

查看表碎片

1
2
3
4
SHOW TABLE STATUS from yiyuansha like 'yys_shangpin'\G
Data_free 字段大于 0, 就表示有碎片
(1)InnoDB 整理碎片, 使用 ALTER TABLE table_name ENGINE=INNODB; 会删除旧表, 并 重新导入数据, 重新建立索引
(2)MyISAM 整理碎片, 使用 OPTIMIZE TABLE table_name;
0%