文章目录

  • 知识介绍
  • 知识记录
  • 最后小结


知识介绍

最近想查看一下我们开发的数据库需要服务器多大的文件系统存储

知识记录

查看数据库存储的大小,方便自己选择合适的服务器挂盘

SELECT
	table_schema AS '数据库',
	sum( table_rows ) AS '记录数',
	-- 下面这里 data_length / 1024 / 1024, 2 ) 是查询数据库的容量单位(MB)
	sum(
	TRUNCATE ( data_length / 1024 / 1024 / 1024, 2 )) AS '数据容量(GB)',
	sum(
	TRUNCATE ( index_length / 1024 / 1024 / 1024, 2 )) AS '索引容量(GB)' 
FROM
	information_schema.TABLES 
	WHERE
    -- 你要查询的数据库名称(这里“database_name”是你的数据库名称)
	table_schema = 'database_name' 
GROUP BY
	table_schema 
ORDER BY
	sum( data_length ) DESC,
	sum( index_length ) DESC;

查看本数据库里所有表的大小并排序

SELECT
	table_schema AS '数据库',
	table_name AS '表名',
	table_rows AS '记录行数',
	TRUNCATE ( data_length / 1024 / 1024 / 1024, 2 ) AS '数据容量(GB)',
	TRUNCATE ( index_length / 1024 / 1024 / 1024, 2 ) AS '索引容量(GB)' 
FROM
	information_schema.TABLES 
WHERE
    -- 你要查询的数据库名称 、其中database_name为数据库名
	table_schema = 'database_name' 
	-- 这里你是可以单独查询指定表的存储文件大小的,如下:你要查询的表名称 、其中t_patent_information为表名
	AND table_name = 't_patent_information' 
ORDER BY
	data_length DESC,
	index_length DESC;

最后小结

最后解释一下MySQL的information_schema库里的TABLES表里一些字段的意思

TABLE_CATALOG:  --目录名,表示表的存放位置。
TABLE_SCHEMA:   --数据库名,表示表所在的数据库。
TABLE_NAME:     --表名,表示被查询的表名。
TABLE_TYPE:     --表类型,表示表的类型,包括BASE TABLE、VIEW等。
ENGINE:         --存储引擎,表示表的存储引擎类型。
VERSION:        --表版本,表示MySQL的版本号。
ROW_FORMAT:     --行格式,表示表中行的格式。
TABLE_ROWS:     --行数,表示表中的行数。
AVG_ROW_LENGTH: --平均行长度,表示表中每行的平均长度。
DATA_LENGTH:    --数据长度,表示表中的数据所占用的空间大小。
MAX_DATA_LENGTH:--最大数据长度,表示表中的数据所占用的最大空间大小。
INDEX_LENGTH:   --索引长度,表示表中的索引所占用的空间大小。
DATA_FREE:      --数据空闲空间,表示表中的空闲空间大小。
AUTO_INCREMENT: --自增字段,表示表中自增字段的值。
CREATE_TIME:    --创建时间,表示表的创建时间。
UPDATE_TIME:    --更新时间,表示表最后修改时间。
CHECK_TIME:     --检查时间,表示表最后检查时间。
TABLE_COLLATION:--排序规则,表示表中的排序规则。
CHECKSUM:       --校验值,表示表中的校验值。
CREATE_OPTIONS: --创建选项,表示在创建表时所使用的选项。
TABLE_COMMENT:  --注释,表示对表的注释。