mysql的⼏种表类型_mysql数据表六种类型
MySQL 数据表主要⽀持六种类型 ,分别是:BDB、HEAP、ISAM、MERGE、MYISAM、InnoBDB。
这六种⼜分为两类,⼀类是”事务安全型”(transaction-safe),包括BDB和InnoDB;其余都属于第⼆类,称为”⾮事务安全型”(non-transaction-safe)。
InnoDB 是较新的事务安全型存储引擎,⽤于事务处理应⽤程序,⽀持BDB的⼏乎所有特性,并具有众多新特性,包括ACID事务⽀持。
特性:
事务处理机制
⽀持外链
崩溃后能⽴即恢复
⽀持外键功能,级联删除
⽀持并发能⼒
mysql创建表数据类型
在硬盘上的存储⽅式:InnoBDB frm
最新版本的Mysql已经计划移除对BDB的⽀持,转⽽全⼒发展InnoDB。InnoDB对Mysql有更好的特性⽀持,⽽且开发社区活跃。
MyISAM 默认的MySQL插件式存储引擎,它是基于ISAM类型,但它增加了许多有⽤的扩展,它是在Web、数据仓储和其他应⽤环境下最常使⽤的存储引擎之⼀。注意,通过更改STORAGE_ENGINE配置变量,能够⽅便地更改MySQL服务器的默认存储引擎。
优点:
1.⽐ISAM表更⼩,所占资源更少
2.可以在不同平台间⼆进制移植表的类型在创建表时指定。
ISAM 是MyISAM类型出现之前MySQL表使⽤的默认类型,现在已经被MyISAM代替。
Memory (HEAP) 是MySQL表中访问最快的表,将所有数据保存在RAM中,在需要快速查引⽤和其他类似数据的环境下,可提供极快的访问。注意,这种类型下数据是⾮持久化设计的,它⼀般适应于临时表,如果MySQL或者服务器崩溃,表中数据全部丢失。
Merge 是⼀种值得关注的新式表,它是由⼀组MyISAM表组成,之所合并主要出于性能上考虑,因为它能够提⾼搜索速度,提⾼修复效率,节省磁盘空 间。允许MySQL DBA或开发⼈员将⼀系列等同的MyISAM表以逻辑⽅式组合在⼀起,并作为1个对象引⽤它们。对于诸如数据仓储等VLDB环境⼗分适合。有时它以 MRG_MYISAM 名称出现。
Archive 为⼤量很少引⽤的历史、归档、或安全审计信息的存储和检索提供了完美的解决⽅案。
Federated 能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建⼀个逻辑数据库。⼗分适合于分布式环境或数据集市环境。
NDBCluster/Cluster/NDB MySQL的簇式数据库引擎,尤其适合于具有⾼性能查要求的应⽤程序,这类查需求还要求具有最⾼的正常⼯作时间和可⽤性。
CSV 使⽤标准的CSV格式,由逗号隔开的⽂本⽂件,适应于外部数据交换
Blackhole 它会接受数据但不保存,⽽且对任何检索请求返回⼀个空集。它⼀般适应于数据会被⾃动复制并不进⾏本地保存的分布式数据库设计。(不确定的)似乎也可以⽤于临时禁⽌/忽略对数据库的应⽤程序输⼊。
Example 这是⼀个测试引擎,你可以创建⼀个这样的表,但既不能写⼊数据,也不能检索数据。它似
乎是⼀个针对MySql开发者提供的⽰例引擎。
有关操作和查看表类型的命令语法如下
1
2
3
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
---- 创建表时指定表类型的⽅法
CREATE TABLE `message` (`id` int(11) NOT NULL auto_increment,`sender` varchar(255) default NULL,`receiver` varchar(255) de
-- 也可以创建后更改:ALTER TABLE `message` ENGINE = INNODB;
-- 查看表类型(存储引擎)SHOW TABLE STATUS FROM `test`;-- -- 结果为数据库test中所有表的信息,其中第⼆项type即是表的类型。
-- 查看表类型(存储引擎)2SHOW CREATE TABLE `message`;-- -- 结果为表message创建时的信息,其中有TYPE或ENGINE⼀项,指
定了表的类型(存储引擎)。-- show tables不能得到表类型的信息。
注意:⽼版本的MySQL使⽤ TYPE⽽不是ENGINE(例如,TYPE = MYISAM)。MySQL 5.1为向下兼容⽽⽀持这个语法,但TYPE现在被
轻视,⽽ENGINE 是⾸先的⽤法。 ⼀般地,ENGINE选项是不必要的;除⾮默认已经被改变了,MyISAM是默认存储引擎。
数据表的可移植性
常⽤的数据移植⽅法:把数据表的内容导出到⼀个⽂本⽂件中,然后拷贝到硬盘上,然后导⼊⽬标数据库⾥⾯。
就⽂件层次的操作来说,某些数据表是可以直接单独拷贝表⽂件来移动的,见下表
ISAM
No
MyIASM
InnoBDB Yes

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。