在文件系统中,Mysql将每个数据库(也可以称之为schmea)保存为数据目下的一个子目录。数据库和表的定义都使用文件系统的目录和文件来保存,大小写敏感和具体的平台密切相关。在Windows中,大小写是不敏感的,而类Unix中则是敏感的。不同的存储引擎保存数据和索引的方式是不同的,,但表的定义则是在MySQL服务层统一处理。
可以使用如下命令查看表的相关信息;
SHOW TABLE STATUS;
例如
mysql> show table status like 'TABLE_NAME'\G;
*************************** 1. row ***************************
Name: TABLE_NAME
Engine: InnoDB
Version: 10
Row_format: Dynamic
Rows: 91998
Avg_row_length: 656
Data_length: 60407808
Max_data_length: 0
Index_length: 2637824
Data_free: 3145728
Auto_increment: NULL
Create_time: 2019-06-13 18:12:38
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)
输出的结果表名这是一个InnoDB表,下面对输出信息简单介绍一下。
Name:表名。
Engine:表存储的引擎类型。在旧版本中,该列的名字叫Type。
Row_format: 行的格式。
Rows:表中的行数,对于MyISAM和其他一些存储引擎,该值是精确的,但对于InnoDB,该值是估算值。
Avg_row_length:平均每行包含的字节数。
Data_length:表数据的大小(以字节为单位)。
Max_data_length:表数据的最大容量,该值和存储引擎有关。
Index_length:索引的小小(以字节为单位)。
Data_free:对于MyISAM表,表示已分配但是目前没有使用的空间。包括了之前删除的行,以及可以被INSERT利用到的空间。
Auto_increment:下一个AUTO_INCREMENT的值。
Create_time:表的创建时间。
Update_time:表数据的最后修改时间。
Check_Time:使用CHECK TABLE 命令或者myisamchk工具最后一次检查表的时间。
Collation:表的默认字符集和字符列排序规则。
Checksum:如果启用,保存的是整个表的实时校验和。
Create_options:创建表时指定的其他选项。
Comment:该列包含了一些其他的额外信息。对于MyISAM表,保存的是表再创建时