MYSQL:查看的数据库表空间
(2016-02-24 10:38:58)
标签:
it |
分类: mysql |
-
-
-
SELECT
CONCAT(ROUND( SUM(index_length)/(1024*1024*1024),6), 'GB' )AS 'Total Index Size' -
FROM
information_schema.TABLES WHEREtable_schema LIKE'database'; -
-
-
SELECT
CONCAT(ROUND( SUM(index_length)/(1024*1024),6), 'MB' )AS 'Total Index Size' -
FROM
information_schema.TABLES WHEREtable_schema LIKE'database'; -
-
-
-
SELECT
CONCAT(ROUND( SUM(data_length)/(1024*1024*1024),6), 'GB' )AS 'Total Data Size' -
FROM
information_schema.TABLES WHEREtable_schema LIKE'database'; -
-
-
SELECT
CONCAT(table_schema, '.',table_name)AS 'Table Name' , -
table_rows AS 'Number of ,Rows' -
CONCAT(ROUND(data_length/(1024*1024*1024),6),' G' )AS 'Data Size' , -
CONCAT(ROUND(index_length/(1024*1024*1024),6),' G' )AS 'Index Size' , -
CONCAT(ROUND((data_length+index_length)/(1024*1024*1024),6),' G' )AS'Total' -
FROM
information_schema.TABLES -
WHERE
table_schema LIKE'database';
MYSQL中没有完整的命令,但你可以通过一系列命令来实现。
首先,对MYSQL来说某些存储引擎是不存在什么tablespace概念的,比如MYISAM
对INNODB,你可以直接用命令showtable status查看某个表的表空间占用情况。
mysql>show table status like 't1' \G
***************************1. row ***
Name: t1
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 0
Avg_row_length: 0
Data_length: 16384
Max_data_length:0
Index_length: 0
Data_free: 4194304
Auto_increment: NULL
Create_time: 2010-09-28 20:11:26
Update_time: NULL
Check_time: NULL
Collation: latin1_swedish_ci
Checksum: NULL
Create_options:
Comment:
1row in set (0.00 sec)
首先,对MYSQL来说某些存储引擎是不存在什么tablespace概念的,比如MYISAM
对INNODB,你可以直接用命令show
mysql>
***************************
Max_data_length:
1
如果是NBD的引擎,你还可以通过 系统表 INFORMATION_SCHEMA.FILES 得到相关信息。
innodb则可以通过 select * from INFORMATION_SCHEMA.TABLES where ENGINE='InnoDB'; 来分析。
innodb
后一篇:sql语句优化(一)