【mysql监控】查看mysql库大小,表大小,索引大小
2015-12-15 14:39
615 查看
转自 http://blog.sina.com.cn/s/blog_4c197d420101fbl9.html
注:如果直接在navicat等工具对应的数据库里执行会报错,可在mysql根查询下执行。table_schema 后面的值 对应的就是数据库的名字;table_name
对应的就是表名
查看所有库的大小
mysql> use information_schema;
Database changed
mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES;
+----------+
| data |
+----------+
| 104.21MB |
+----------+
1 row in set (0.11 sec)
查看指定库的大小
mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES where table_schema='jishi';
+---------+
| data |
+---------+
| 26.17MB |
+---------+
1 row in set (0.01 sec)
查看指定库的指定表的大小
mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES where table_schema='jishi' and table_name='a_ya';
+--------+
| data |
+--------+
| 0.02MB |
+--------+
1 row in set (0.00 sec)
查看指定库的索引大小
mysql> SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 2), ' MB') AS 'Total Index Size' FROM TABLES WHERE table_schema = 'jishi';
+------------------+
| Total Index Size |
+------------------+
| 0.94 MB |
+------------------+
1 row in set (0.01 sec)
查看指定库的指定表的索引大小
mysql> SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 2), ' MB') AS 'Total Index Size' FROM TABLES WHERE table_schema = 'test' and table_name='a_yuser';
+------------------+
| Total Index Size |
+------------------+
| 21.84 MB |
+------------------+
1 row in set (0.00 sec)
mysql> show create table test.a_yuser\G;
*************************** 1. row ***************************
Table: a_yuser
Create Table: CREATE TABLE `a_yuser` (
`email` varchar(60) NOT NULL DEFAULT '',
`user_name` varchar(60) NOT NULL DEFAULT '',
KEY `cc` (`email`(5)),
KEY `ccb` (`user_name`(5)),
KEY `ccbc` (`email`(5),`user_name`(5))
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
ERROR:
No query specified
mysql> select count(*) from test.a_yuser;
+----------+
| count(*) |
+----------+
| 1073607 |
+----------+
1 row in set (0.00 sec)
mysql>
查看一个库中的情况...
mysql> SELECT CONCAT(table_schema,'.',table_name) AS 'Table Name', CONCAT(ROUND(table_rows/1000000,4),'M') AS 'Number of Rows', CONCAT(ROUND(data_length/(1024*1024*1024),4),'G') AS 'Data Size', CONCAT(ROUND(index_length/(1024*1024*1024),4),'G') AS
'Index Size', CONCAT(ROUND((data_length+index_length)/(1024*1024*1024),4),'G') AS'Total'FROM information_schema.TABLES WHERE table_schema LIKE 'test';
+---------------+----------------+-----------+------------+---------+
| Table Name | Number of Rows | Data Size | Index Size | Total |
+---------------+----------------+-----------+------------+---------+
| test.a_br | 0.4625M | 0.0259G | 0.0171G | 0.0431G |
| test.a_skuclr | 0.7099M | 0.0660G | 0.0259G | 0.0919G |
| test.a_yuser | 1.0736M | 0.0497G | 0.0213G | 0.0710G |
| test.test | 0.0000M | 0.0000G | 0.0000G | 0.0000G |
+---------------+----------------+-----------+------------+---------+
4 rows in set (0.13 sec)
注:如果直接在navicat等工具对应的数据库里执行会报错,可在mysql根查询下执行。table_schema 后面的值 对应的就是数据库的名字;table_name
对应的就是表名
查看所有库的大小
mysql> use information_schema;
Database changed
mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES;
+----------+
| data |
+----------+
| 104.21MB |
+----------+
1 row in set (0.11 sec)
查看指定库的大小
mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES where table_schema='jishi';
+---------+
| data |
+---------+
| 26.17MB |
+---------+
1 row in set (0.01 sec)
查看指定库的指定表的大小
mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES where table_schema='jishi' and table_name='a_ya';
+--------+
| data |
+--------+
| 0.02MB |
+--------+
1 row in set (0.00 sec)
查看指定库的索引大小
mysql> SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 2), ' MB') AS 'Total Index Size' FROM TABLES WHERE table_schema = 'jishi';
+------------------+
| Total Index Size |
+------------------+
| 0.94 MB |
+------------------+
1 row in set (0.01 sec)
查看指定库的指定表的索引大小
mysql> SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 2), ' MB') AS 'Total Index Size' FROM TABLES WHERE table_schema = 'test' and table_name='a_yuser';
+------------------+
| Total Index Size |
+------------------+
| 21.84 MB |
+------------------+
1 row in set (0.00 sec)
mysql> show create table test.a_yuser\G;
*************************** 1. row ***************************
Table: a_yuser
Create Table: CREATE TABLE `a_yuser` (
`email` varchar(60) NOT NULL DEFAULT '',
`user_name` varchar(60) NOT NULL DEFAULT '',
KEY `cc` (`email`(5)),
KEY `ccb` (`user_name`(5)),
KEY `ccbc` (`email`(5),`user_name`(5))
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
ERROR:
No query specified
mysql> select count(*) from test.a_yuser;
+----------+
| count(*) |
+----------+
| 1073607 |
+----------+
1 row in set (0.00 sec)
mysql>
查看一个库中的情况...
mysql> SELECT CONCAT(table_schema,'.',table_name) AS 'Table Name', CONCAT(ROUND(table_rows/1000000,4),'M') AS 'Number of Rows', CONCAT(ROUND(data_length/(1024*1024*1024),4),'G') AS 'Data Size', CONCAT(ROUND(index_length/(1024*1024*1024),4),'G') AS
'Index Size', CONCAT(ROUND((data_length+index_length)/(1024*1024*1024),4),'G') AS'Total'FROM information_schema.TABLES WHERE table_schema LIKE 'test';
+---------------+----------------+-----------+------------+---------+
| Table Name | Number of Rows | Data Size | Index Size | Total |
+---------------+----------------+-----------+------------+---------+
| test.a_br | 0.4625M | 0.0259G | 0.0171G | 0.0431G |
| test.a_skuclr | 0.7099M | 0.0660G | 0.0259G | 0.0919G |
| test.a_yuser | 1.0736M | 0.0497G | 0.0213G | 0.0710G |
| test.test | 0.0000M | 0.0000G | 0.0000G | 0.0000G |
+---------------+----------------+-----------+------------+---------+
4 rows in set (0.13 sec)
相关文章推荐
- [SQL] 1153 – Got a packet bigger than ‘max_allowed_packet’ bytes
- SQL大圣之路笔记——sql PROCEDURE 脚本维护规范
- 配置PLSQL Developer远程连接Oracle数据库
- Oracle PL/SQL之LOOP循环控制语句
- 理解MySQL——架构与概念
- plsql deveploper安装
- PL/SQL Developer使用技巧
- 读书笔记(三):【SQL Server 2005 Performance Tuning性能调校】(2):【SQL Server 架构简介】
- (转)SQLite部署-无法加载 DLL“SQLite.Interop.dll”: 找不到指定的模块
- zabbix自带mysql监控遇到sh: mysql: command not found
- copy sqlserver中DATE类型的数据转化 CONVERT
- PL/SQL Developer(解压版)连接64位的Oracle11g
- SQL Server Database 维护计划创建一个完整的备份策略
- 【mysql】【分组】后取每组的top2
- PLSQLDeveloper链接报错 解决办法
- 详解SQL中drop、delete和truncate的异同
- 2006 - MySQL server has gone away
- hadoop(1.1.2)+hbase0.98+hive+pig+sqoop+mysql+vsftp+tomcat+linux搭建命令
- vsftp匿名用户,本地用户,虚拟用户mysql认证详情配置
- ORACLE SQL Developer日期显示格式设置