MySQL数据表支持六种类型 ,分别是:BDB、HEAP、ISAM、MERGE、MYISAM、InnoBDB,

这六种又分为两类,单独一类是BDB,称为"事务安全型"(transaction-safe),


其余都属于第二类,称为“非事务安全型"(non-transaction-safe)。下面详细介绍这些表:

事务安全型

        BDB 全称是"Brekeley DB",它是Mysql具有事务能力的表的类型,由Sleepycat Software (http://www.sleepycat.com)开发。它提供了事务控制能力功能,它确保一组命令全部执行成功,或者当任何一个命令出现错误时所有命令的结果都被回退,可以想像在电子银行中事务控制能力是非常重要的。

非事务安全型

       HEAP

        HEAP表是MySQL表中访问最快的表,主要是由于这类表使用保存期在内存中的散列索引,但必须注意的是,如果MySQL或者服务器崩溃,表中数据全部丢失。

ISAM

      ISAM表是MyISAM类型出现之前,MySQL表使用的默认类型,建议改用MyISAM。

MEREG

      MEREG是一种值得关注的新式表,它是由一组MyISAM表组成,之所合并主要出于性能上考虑,因为它能够提高搜索速度,提高修复效率,节省磁盘空间。

MyISAM

      MyISAM是MySQL表默认的类型,它是基于ISAM类型,但它增加了许多有用的扩展,下面是MyISAM一些优点:

        1.比ISAM表更小,所占资源更少

        2.可以在不同平台间二进制移植

表的类型在创建表时指定。在下面这个例子中我们创建了一个HEAP类型的表:

CODE

InnoBDB

       这是最近加入的新表,具有以下特性:

          事务处理机制

          崩溃后能立即恢复

          支持外键功能,级联删除

          支持并发能力

在硬盘上的存储方式:InnoBDB frm


       数据表的可移植性

通用方法:把数据表的内容导出到一个文本文件中,然后拷贝到硬盘上,导入数据库里面。就文件层次的操作来说,某些数据表是可以单独拷贝的看表

ISAM No

MyIASM Yes

BDB No

InnoBDB Yes

//======================================================================================

1.数据文件

   1)MyISAM表:有三个相关的文件,数据文件.MYD,索引文件.MYI,目标文件(定义文件).frm


   2)BDB表:包含两个文件,一个.db数据文件和一个.frm目标文件


   3)InnoDB表:有自己的目标文件.frm,但实际的数据存放在上一级目录中,与数据库属于同一级目录

2.日志文件

   

MySQL实际上支持五种不同的表类型.这五种类型分别是BDB、HEAP、ISAM、MERGE以及MyISAM。

1,ISAM数据表  

mysql3.23版本之前的MySQL支特的唯一一种表类型,目前己经过时,MyIASM处理程库逐步取代了ISAM处理程序,这种老式的表类型己经没有人在用了

数据表在硬盘上的文件存储方式:IASM Frm isd ism

2,MyIASM数据表  

这是目前中MySQL默认使用的数据表类型。其优点是

如果主机操作系统支持大尺寸文件,数据表长度就能够很大,就能客纳更多的数据.

数据表内容独立于硬件也就是说可以把数据表在机器之间随意拷贝

提高了索引方面的功能

提供了更好的索引键压缩效果

auto_incremnet能力加强

改进了对数据表的完整性检查机制

支持进行fulltext全文本搜索

数据表在硬盘上的文件存储方式:MyISAM Frm myd myi


3,Merge数据表  

这是一种把相同结构的MyIASM数据表组织为一个逻辑单元的方法

数据表在硬盘上的文件存储方式:Merge Frm mrg


4,HEAP数据表  

这是一种使用内存的数据表,而且各个数据行的长度固定,这两个特性使得这种类型数据表的检索速度非常快,作为一种临时性的数据表,HEAP在某些特定情况下很有用。

数据表在硬盘上的文件存储方式:Heap Frm

5,BDB数据表  

这种数据表支持事务处理机制,具有良好的并发性能

数据表在硬盘上的文件存储方式:BDB Frm db

6,InnoDB数据表  

这是最近加入MySQL的数据表类型,有许多新的特性

支持事务处理机制

崩溃后能够立刻恢复

支持外键功能,包括级联删除

具有并发功能

数据表在硬盘上的文件存储方式:InnoDB frm