MYSQL教程:数据表在系统中表现形式


MySQL数据表类型有:ISAM、MyISAM、MERGE、BDB、InnoDB和HEAP。每种数据表在文件系统中都有不同的表示方式,有一个共同点就是每种数据表至少有一个存放数据表结构定义的.frm文件。

本文由网页教学网(http://www.phpstudy.net)整理发布!转载请注明出处,谢谢!

下面介绍每种数据表文件:

  • ISAM数据表是最原始的数据表,有三个文件,分别是:

    .frm,存放数据表的结构定义;

    .ISD,数据文件,存放数据表中的各个数据行的内空;

    .ISM,索引文件,存放数据表的所有索引信息。

  • MyISAM数据表是ISAM数据表的继承者,也有三个文件,分别是:

    .frm,结构定义文件;

    .MYD,数据文件;

    .MYI,索引文件。

  • MERGE数据表是一个逻辑结构,代表一组结构完全相同的MyISAM数据表构成的集合。它在文件系统中有二个文件,分别是:

    .frm,结构定义文件;

    .MRG,构成MERGE表的MyISAM数据表清单,每个MyISAM数据表名占一行。也就是说可通过改变该表的内容来改变MERGE数据表的结构。修改前请先刷新缓存(flush tables),但不建议这样修改MERGE数据表。

  • BDB数据表用两个文件来表示,分别是:

    .frm,结构定义文件;

    .db,数据表数据和索引文件

  • InnoDB由于采用表空间的概念来管理数据表,所以它只有一个与数据表对应.frm文件,同一目录下的其它文件表示为表空间,存储数据表的数据和索引。

  • HEAP数据表是一个存在于内存中的表,所以它的数据和索引都存在于内存中,文件系统中只有一个.frm文件,以定义结构。

了解MySQL数据表在文件系统中表现形式后,我们可知道,创建、修改或删除数据表,其实就是对这些文件进行操作。例如一些数据表(除InnoDB和HEAP数据表外),我们可直接在文件系统中删除相应的文件来删除数据表。

% cd datadir
% rm -f mydb/mydb.*

以上命令可删除mydb数据库中的mydb数据表。

MySQL数据表类型有:ISAM、MyISAM、MERGE、BDB、InnoDB和HEAP。每种数据表在文件系统中都有不同的表示方式,有一个共同点就是每种数据表至少有一个存放数据表结构定义的.frm文件。

本文由网页教学网(http://www.phpstudy.net)整理发布!转载请注明出处,谢谢!

下面介绍每种数据表文件:

  • ISAM数据表是最原始的数据表,有三个文件,分别是:

    .frm,存放数据表的结构定义;

    .ISD,数据文件,存放数据表中的各个数据行的内空;

    .ISM,索引文件,存放数据表的所有索引信息。

  • MyISAM数据表是ISAM数据表的继承者,也有三个文件,分别是:

    .frm,结构定义文件;

    .MYD,数据文件;

    .MYI,索引文件。

  • MERGE数据表是一个逻辑结构,代表一组结构完全相同的MyISAM数据表构成的集合。它在文件系统中有二个文件,分别是:

    .frm,结构定义文件;

    .MRG,构成MERGE表的MyISAM数据表清单,每个MyISAM数据表名占一行。也就是说可通过改变该表的内容来改变MERGE数据表的结构。修改前请先刷新缓存(flush tables),但不建议这样修改MERGE数据表。

  • BDB数据表用两个文件来表示,分别是:

    .frm,结构定义文件;

    .db,数据表数据和索引文件

  • InnoDB由于采用表空间的概念来管理数据表,所以它只有一个与数据表对应.frm文件,同一目录下的其它文件表示为表空间,存储数据表的数据和索引。

  • HEAP数据表是一个存在于内存中的表,所以它的数据和索引都存在于内存中,文件系统中只有一个.frm文件,以定义结构。

了解MySQL数据表在文件系统中表现形式后,我们可知道,创建、修改或删除数据表,其实就是对这些文件进行操作。例如一些数据表(除InnoDB和HEAP数据表外),我们可直接在文件系统中删除相应的文件来删除数据表。

% cd datadir
% rm -f mydb/mydb.*

以上命令可删除mydb数据库中的mydb数据表。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3