阅读:2644回复:0
MySQL数据表类型-六种类型
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 mysql >CREATE TABLE email_addresses TYPE=HEAP ( - >email char(55) NOT NULL, - >name char(30) NOT NULL, - >PRIMARY KEY(email) ); |
|