技术知识库

1.MyISAM  --5.5版本前重点掌握的


5.5版本之前默认的存储引擎,也是目前使用非常广泛的存储引擎之一,是ISAM的升级版本。

用于读多写少的环境


2.innoDB存储引擎简介

除了MyISAM外,使用最为广泛的存储引擎,由第三方公司开发,和mysql遵守相同的开源许可协议。

支持事务安全

数据多版本读取

锁定机制的改进

实现外键

它有表空间的概念,但与oracle表空间相比又有较大的不同,首先,innodb的表空间分为两种形式,一种是共享表空间,也就是所有数据都被存放在同一个表空间(一个或多个数据文件)中,通过innodb_data_file_path来指定,增加数据文件须要停机重启。另外一种是独享表空间,也就是每个表的数据和索引都存放在一个单独的.ibd文件中。


3.NDB cluster存储引擎简介 

主要用于mysql cluster分布式集群环境。简单地说,mysql cluster就是在无共享存储设备的情况下实现的一种内存数据库cluster环境,主要是通过NDB cluster (简称NDB)存储引擎来实现的。


------


其他存储引擎介绍


4.merge 

可以简单地理解其功能就是结构相同的MyISAM表通过一些特殊的包装对外提供一个单一的访问入口,从而减小应用复杂度的目的。

要创建merge表,不仅基表的结构要完全一致,包括字段的顺序,基表的索引也必须完全一致

merge表本身并不存储数据,仅仅是多个基表提供一个统一的存储入口。所以在创建merge表的时候,mysql只会生成两个较小的文件,一个是.frm的结构定义文件,还有一个.MRG文件,用于存放参与MERGE表的名称(包括所属数据库schema)


5,Memory存储引擎

它是一个将数据存储在内存中的存储引擎。

memory存储引擎不会将任何数据存放到磁盘上,在磁盘上仅仅存放了一个表结构相关信息的.frm文件。所以一旦mysql崩溃或主机崩溃之后,memory的表就只剩下一个结构了。

它实现的是页级锁定XAMP

此引擎所有数据都存放在内存中,那么它消耗的内存量可想而知。


6.BDB存储引擎

BDB存储引擎全称为berkeleyDB存储引擎,和innoDB一样,也是第三方的,同样支持事务安全。

在锁定机制方面,和memory存储引擎一样,实现页级锁定。


7。federated存储引擎

它所实现的功能和oracle的DBLINK基本相似,主要是用来提供对远程mysql服务器上面的数据的访问接口,如果我们使用源码编译来安装mysql,那么必須手工指定启用federated存储引擎,因为mysql默认是不启用该存储引擎的。


8。archive存储引擎

主要用于通过较小的存储空间来存放过期的很少访问的历史数据。archive表不支持索引,包含一个.frm的结构定义文件,一个.ARZ的数据压缩文件,还有一个.ARM的元数据

信息文件。由于其所存放的数据的特殊性,archive表不支持删除,修尽管操作,仅支持插入和查询操作。

锁定机制为行级锁定。


9。blackhole存储引擎

就是一个‘黑洞’,就像/dev/null设备一样,不管写入任何信息,都是有去无回。

比如数据迁移过程,数据要经过一个中转的mysql服务器做一些相关的转换操作,然后再通过复制移植到新的服务器上面。如果中转服务器没有足够的空间,可以用blackhole引擎,它不记录任何数据(这样就不会占用空间了),但是会在binary log中记录下所有的query,把这些记录复制应用到新的服务器上。


10。CSV存储引擎

操作的就是一个标准的CSV文件,它不支持索引,主要用途就是有时候可能要通过数据库导出一份报表文件,而CSV文件是很多软件都支持的一种标准格式,所以可以先在数据库中建立一张CVS表,然后将生成的报表信息插入该表,就能得到一份CSV报表文件了

提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: