MySQL存储引擎介绍

MysQL采用插件式存储引擎结构,也就是说支持热插拔,更改底层存储引擎时不用停止服务就可以完成,MySQL作为一个开源数据库,除自带的MyISAM还有很多其他存储引擎可供替换,本文主要对这些存储引擎做一个简单的介绍。


1、MyISAM存储引擎

    1)MyISAM支持三种类型的索引:B-Tree索引、R-Tree索引、Full-text索引

        注:B-Tree索引中参与一个索引的所有字段的长度纸盒不能超过1000字节

    2)MyISAM的数据存放格式分为:静态固定长度、动态可变长度及压缩三种格式


2、InnoDB存储引擎

    支持事务安全(4个级别)

    数据多版本读取

    锁定机制的改进:行锁,通过索引来完成

    实现外键

    分为独享表空间和共享表空间,后者的数据文件可以设置为固定大小和可动态扩展两种形式

    InnoDB可以使用文件系统还可以使用裸设备


3、NDB Cluster存储引擎

    主要用于MySQL Cluster分布式集群环境

    MySQL Cluster就是在无共享设备的情况下实现的一种内存数据库Cluster环境

    MySQL Cluster的环境主要包括:

    1)负责管理各个节点的Manager节点主机:管理节点负责整个Cluster集群中各个节点的管理工作,包括集群的配置,启动关闭各节点,以及实施数据的备份恢复等

    2)SQL层的SQL服务器节点(MySQL Server):负责一个数据库在存储层之上的所有事情

    3)Storage层的NDB数据节点(NDB Cluster):NDB是一个内存式存储引擎,会将所有的数据和索引数据都加载到内存中,也会将数据持久化到存储设备上


4、Merger存储引擎

    对结构相同的MyISAM表通过一些特殊的包装对外提供一个单一的访问入口,从而达到减小应用复杂度的目的


5、Memory存储引擎

    将数据存储在内存中的数据引擎

    页级锁定


6、BDB存储引擎

    全称BerkeleyDB存储引擎

    一个.frm文件和一个.db文件

    页级锁定

    事务安全


7、FEDERATED存储引擎

    主要用来提供对远程MySQL服务器上面的数据的访问接口,当创建一个FEDERATED表的时候,在本地仅仅创建了表的结构定义信息文件,所有数据均实时取自远程MySQL服务器上面的数据库


8、ARCHIVE存储引擎

    主要用于通过较小的存储空间来存放过期的很少访问的历史数据

    不支持索引

    包含一个.frm和一个.ARZ数据压缩文件和一个.ARM的元数据信息文件

    不支持删除修改操作,仅支持插入和查询

    行级锁定


9、BLACKHOLE存储引擎

    写入任何信息都是有去无回

    可以用于空间受限的数据迁移中转,利用binlog


10、CSV存储引擎

    可以先在数据库中建立一张CVS表,然后将生成的报表信息插入该表,即可得到一份CSV报表文件了

    不支持索引

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值