栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

第二章 Mysql专题之存储引擎

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第二章 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:最求快速查询,且数据修改少;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/673279.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号