MySQL 存储引擎

MySQL都把数据库以子目录的形式存放在它安装目录的data目录下。当你新建一张表,MySQL就生成一个和表名一样的文件存放在这个子目录中。于是,当你创建一个表为MyTable,MySQL存储这个表为

MyTable.frm文件。因为MySQL用文件系统来存储数据库和表定义的。是否区分大小写完全取决操作系统。在Windows上的MySQL就不会区分大小写。类Unix系统就会区分大小写。任何的存储引擎对于数据和

索引的存储都是不同的。但是操作表的定义是由服务器来做的。

 

要查看表的存储引擎是什么可以使用SHOW TABLE STATUS命令。一个例子,要查看mysql数据库下vpopmail表。执行以下命令
mysql> SHOW TABLE STATUS LIKE 'vpopmail' \G
*************************** 1. row ***************************
           Name: vpopmail
           Type: MyISAM
     Row_format: Dynamic
           Rows: 19159
 Avg_row_length: 162
    Data_length: 3119984
Max_data_length: 4294967295
   Index_length: 1173504
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2005-04-07 14:47:44
    Update_time: 2010-09-27 11:21:20
     Check_time: 2005-04-26 16:27:44
 Create_options:
        Comment:
1 row in set (0.00 sec)
这个结果看的出来,存储引擎是MyISAM。你可能也想知道其他信息的意思。解释一下

 

Name                表的名称

 
Engine              表的存储引擎,旧的版本,这个不叫Engine叫做Type


Row_format         行的格式。对于MyISAM表,格式为三种,Dynamic,Fixed,Compressed。Dynamic行,在长度上是可变的。因为它包含了变量长度的字段如VARCHAR,BLOB. Fixed行,总是固定的长度。

字段是定长的。如CHAR,INTEGER。  Compressed行,仅仅可以应用在compressed tables。暂不介绍。

 
Rows     这个表的行数。对于非事物的表,这个数字是精确的。对于支持事物的表,这个值是估算的。
 

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或者myisamchk的时间。

 
Collation                表中的字符字段的默认字符集和排序


Checksum             如果enabled,就会计算这个表内容之和。

 
Create_options      当表创建时,所添加额外的参数。


Comment

表的额外信息。对于MyISAM表。它包含了评论,可以在表创建的时候添加任意的信息。如果InnoDB。会显示表空间的剩余空间。如果这个表是视图,这里显示"VIEW"


 

你可能感兴趣的:(mysql,数据库,职场,引擎,休闲)