在文件系统中,MySQL会把每个数据库保存为数据目录下的一个子目录。当创建一个表时,MySQL会在和表同名的、以.frm为后缀的文件中存储表的定义。

MySQL的存储引擎对表数据和索引的存储方式不同;表定义是由MySQL Server独立处理。


查看某张表使用的是哪种存储引擎:

mysql> show table status like 'user'\G
*************************** 1. row ***************************
           Name: user#表名
         Engine: MyISAM#存储引擎
        Version: 10
     Row_format: Dynamic#行格式,对于MyISAM,这里可能的值是Dynamic、Fixed、Compressed。
           Rows: 9
 Avg_row_length: 84#平均每行包含的字节数
    Data_length: 756#整个表的包含的字节数
Max_data_length: 281474976710655#表可以容纳的字节数
   Index_length: 2048#索引数据占用磁盘空间的大小
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2013-06-06 18:06:18
    Update_time: 2013-06-06 18:10:52
     Check_time: NULL#使用check table命令或myisamchk工具检测表时的最近检查时间。
      Collation: utf8_bin
       Checksum: NULL
 Create_options: #创建表时的其他所有选项
        Comment: Users and global privileges
1 row in set (0.00 sec)

1、MyISAM:

   MyISAM将每个表存储成2个文件:数据文件(以.MYD结尾的文件)和索引文件(以.MYI结尾的文件)。

   用户使用MyISAM存储引擎可以在不同的架构服务器上毫无问题的相互拷贝数据文件和索引文件。

   MyISAM表可以包含:动态表和静态表。