mysql 的存储引擎种类 以及分类 区别

这里主要介绍几种常用的存储引擎种类  MyISAM  InnoDB  MEMORY  MERGE  TokuDB


1. MyISAM  : 是旧版本mysql的默认引擎,现在默认引擎是InnoDB。MyISAM引擎的主要特点就是快,没有事务处理操作,也不支持外键操作。适合于多读取插入,少更新删除的操作表。存储数据分成三个文件:.frm(存储表定义) .MYD(存储数据)  .MYI(存储索引)

用法: engine=myisam default charset=utf-8 ;


2.InnoDB  :是新版本mysql的默认引擎,支持事务处理和外键,但是其缺点几就是慢了些。存储方式分为两种:1.共享表空间存储。[.frm(表结构) 和 innodb_data_home(数据)和innodb_data_file_path(索引)]   2.多表空间存储。 [.frm(表结构) 和 .idb(数据)  ]。

 适用于对于事务由较高要求的表的创建。

用法:engine=innodb default charset=utf-8 ;


3.MEMORY: 数据访问非常快的引擎,存储格式同一放在内存中的一个磁盘文件中格式是.frm 。默认使用hash索引。一旦服务器关闭表中的数据就会丢失。数据大小有限制。

用法:engine=memory ;


4.MERGE:本身是融合的意思,实质是MyISUM表的融合,这些融合的表必须结构完全相同。MERGE本身是没有数据的。插入操作可以是first或者是last。删除只是删除MERGE表定义,并不删除真正表的数据。存储方式:.frm(文件存储表定义信息)  .MRG(描述组合表的信息,比如由哪些表组成,插入时的依据)。

适用于:将一系列等同的MyISAM表逻辑方式组合在一起,作为一个对象引用它们。

用法:engine=merge union=(__,__) insert_method=last/first ;


你可能感兴趣的:(mysql 的存储引擎种类 以及分类 区别)