【mysql】存储引擎之间的区别

使用存储引擎的优点:每个存储引擎都有各自的特点,可以根据具体应用建立不同存储引擎表

各种存储引擎的区别

InnoDB存储引擎

InnoDB存储尹支持事务
设计目标:面向在线事务处理(OLTP)的应用
InnoDB通过多版本并发控制(MVCC)获得高并发性,实现了SQL标准的4中隔离级别,默认为REPEATABLE级别
使用next-key locking的策略避免幻读
提供的高性能高可用的功能:插入缓存、二次写、自适应哈希索引、预读等
InnoDB采用聚集的方式,每张表的存储都是按主键的顺序进行存放,如果没有显示的在表定义时指定主键,InnoDB存储引擎会为每一行生成一个6字节的ROWID,并以此为主键

MyISAM存储引擎

MyISAM存储引擎不支持事务、表锁设计,支持全文索引
面向目标:OLAP数据库应用
MyISAM是MySQL5.5.8版本之前默认的存储引擎(不包括windows版本)

MyISAM组成:MYD和MYI
MYD:用来存放数据文件
MYI:用来存放索引文件

MySQL5.0版本之前,MyISAM默认支持表大小为4GB,如果要大于4GB需要制定MAX_ROWS和AVG_ROW_LENGTH属性,从MySQL5.0版本开始MyISAM默认支持256TB的单表数据

NDB存储引擎

NDB存储引擎是一个集群存储引擎,结构是share nothing的集群架构,能提供更高的可用性
数据库架构设计三种模式:share nothing,share everythong,share disk
参考链接:https://www.cnblogs.com/kzwrcom/p/6397709.html
Shared Everthting:针对单个主机,完全透明共享CPU/MEMORY/IO,并行能力最差,代表:SQL Server
Shared Disk:各个处理单元使用自己的私有 CPU和Memory,共享磁盘系统。典型的代表Oracle Rac, 它是数据共享,可通过增加节点来提高并行处理的能力,扩展能力较好。其类似于SMP(对称多处理)模式,但是当存储器接口达到饱和的时候,增加节点并不能获得更高的性能 。
Shared nothing架构(shared nothing architecture)是一 种分布式计算架构。这种架构中的每一个节点( node)都是独立、自给的,而且整个系统中没有单点竞争。
share nothing架构原理:https://www.jianshu.com/p/403df7516bdc
NDB的缺点:
NDB存储引擎的链接操作(JOIN)是在MySQL数据库层完成的,而不是在存储引擎层完成的,意味着复杂连接操作需要巨大的网络开销,因此查询速度很慢

Memory存储引擎

Memory存储引擎将表中的数据存放在内存中,如果数据库重启或发生崩溃,表中的数据将丢失
适合用于存储临时数据的临时表以及数据仓库中的纬度表。
Memory默认使用Hash索引
优点:因为数据都存放在内存中,所以速度快
缺点:只支持表锁,并发性能差,不支持TEXT和BLOB类型
存储变长字段(varchar)是按照定长字段(char)的方式进行的,会浪费内存

Archive存储引擎

设计目标:提供高速的插入和压缩功能
Archive存储引擎只支持INSERT操作和SELECT操作,从MySQL5.1开始支持索引、
Archive存储引擎使用zlib算法将数据库进行压缩后存储,压缩比可达1:10
Archive存储引擎适合存储归档数据,如日志信息
Archive存储引擎使用行锁实现高并发的插入操作,但本身并不是事务安全的存储引擎

Federated存储引擎

Federated存储引擎表并不存放数据,它是指向一台远程MySQL数据库服务器上的表,当前只支持MySQL数据库表。

Maria存储引擎

设计目标:取代原有的MyISAM存储引擎,从而成为MySQL的默认存储引擎,可以看做是MyISAM的后续版本
特点:支持缓存数据和索引文件,应用了行锁设计,提供MVCC功能,支持事务和非事务安全的选项,及更好的BLOB字符类型处理性能

关于存储引擎的几个问题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值