第二章 Mysql专题之存储引擎

第二章 Mysql专题之存储引擎,第1张

第二章 Mysql专题之存储引擎 1、Mysql存储引擎概述

存储引擎:根据Mysql提供的文件访问层抽象接口定制的一种文件访问机制,存储引擎在mysql架构中位于第三位,负责Mysql中的数据存储与提取;

show engines  --查看当前数据库支持的引擎信息,5.5版本之前采用MyISAM存储引擎,5.5开始采用Inoodb存储引擎;
2、存储引擎对比
1、InnoDB:支持事务,具有提交,回滚和崩溃恢复能力,事务安全;            适合增删改 *** 作
2、MyISAM:不支持事务,查询访问速度快;                              适合查询 *** 作
3、Memory:利用内存创建表,访问速度非常快,因为数据在内存,而且默认使用hash索引,但是一旦关闭,数据立刻丢失
3、InnoDB和MyISAM的区别 对比项MyISAMInnoDB外键不支持支持事务不支持支持行表锁表锁,即使 *** 作一条记录也会锁住整个表,不适合高并发的 *** 作**行锁,** *** 作时只锁某一行,不对其它行有影响, 适合高并发的 *** 作缓存只缓存索引,不缓存真实数据不仅缓存索引还要缓存真实数据,对内存要求较高,而且内存大小对性能有决定性的影响
1、事务和外键
	InnoDB支持事务和外键,具有安全性和完整性,适合大量insert或update *** 作;
	MyISAM不支持事务和外键,提供了高速存储和检索,适合大量的select *** 作;
	
2、锁机制
	innoDB支持行/表级锁,锁定指定记录;           #基于索引来加锁
	MyISAM支持表级锁,锁定整张表;

3、索引结构
	InnoDB使用聚集索引,索引和记录在一起存储,即缓存索引,也缓存记录;
	MyISAM使用非聚集索引,索引和记录分开;

4、并发能力处理
	MyISAM使用表锁,会导致写 *** 作并发率低,读之间并不阻塞,读写阻塞;
	InnoDB读写阻塞可以与隔离级别有关,可以采用多版本并发控制(MVCC)来支持高并发;

5、存储文件
	InnoDB对应两个文件:一个.frm表结构文件,一个.ibd文件;
	MyISAM对应三个文件:一个.frm表结构文件,一个MYD文件,一个MYI索引文件;

6、业务场景
	innoDB:事务/并发修改;
	MyISAM:最求快速查询,且数据修改少;

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5678497.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存