MySQL的表类型和存储引擎

1. MySQL的表类型由存储引擎(Storage Engines)决定,类型包括MyISAM、innoDB、BDB等。创建表时指定表类型的方法:
CREATE TABLE `message` (
  `id` int(11) NOT NULL auto_increment,
  `sender` varchar(255) default NULL,
  `receiver` varchar(255) default NULL,
  `content` text,
  `is_read` char(1) default 'N',
  `send_time` datetime default NULL,
  `del_flag` tinyint(4) default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MYISAM;

也可以创建后更改:ALTER TABLE `message` ENGINE = INNODB;

查看表类型(存储引擎):
SHOW TABLE STATUS FROM test;
结果为数据库test中所有表的信息,其中第二项type即是表的类型。

SHOW CREATE TABLE `message`;
结果为表message创建时的信息,其中有TYPE或ENGINE一项,指定了表的类型(存储引擎)。
注意:show tables不能得到表类型的信息。

老版本的MySQL使用TYPE而不是ENGINE(例如,TYPE = MYISAM)。MySQL 5.1为向下兼容而支持这个语法,但TYPE现在被轻视,而ENGINE是首先的用法。 一般地,ENGINE选项是不必要的;除非默认已经被改变了,MyISAM是默认存储引擎。


2. 常用的存储引擎:

MySQL数据表主要支持六种类型 ,分别是:BDB、HEAP、ISAM、MERGE、MYISAM、InnoBDB,这六种又分为两类,单独一类是BDB,称为"事务安全型"(transaction-safe),其余都属于第二类,称为“非事务安全型"(non-transaction-safe)。

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

 非事务安全型

·MyISAM:默认的MySQL插件式存储引擎,它是基于ISAM类型,但它增加了许多有用的扩展,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。
优点:
1.比ISAM表更小,所占资源更少
2.可以在不同平台间二进制移植表的类型在创建表时指定。

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

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

·InnoDB:最近加入的新表,用于事务处理应用程序,具有众多特性,包括ACID事务支持。
特性:
事务处理机制
崩溃后能立即恢复
支持外键功能,级联删除
支持并发能力
在硬盘上的存储方式:InnoBDB frm
数据表的可移植性
通用方法:把数据表的内容导出到一个文本文件中,然后拷贝到硬盘上,导入数据库里面。就文件层次的操作来说,某些数据表是可以单独拷贝的看表
ISAM No
MyIASM Yes
BDB No
InnoBDB Yes

·Merge:是一种值得关注的新式表,它是由一组MyISAM表组成,之所合并主要出于性能上考虑,因为它能够提高搜索速度,提高修复效率,节省磁盘空间。允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。

·Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。

·Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。

· Federated:能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。

· Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。

·Other:其他存储引擎包括CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值