存储引擎:根据Mysql提供的文件访问层抽象接口定制的一种文件访问机制,存储引擎在mysql架构中位于第三位,负责Mysql中的数据存储与提取;
show engines --查看当前数据库支持的引擎信息,5.5版本之前采用MyISAM存储引擎,5.5开始采用Inoodb存储引擎;2、存储引擎对比
1、InnoDB:支持事务,具有提交,回滚和崩溃恢复能力,事务安全; 适合增删改 *** 作 2、MyISAM:不支持事务,查询访问速度快; 适合查询 *** 作 3、Memory:利用内存创建表,访问速度非常快,因为数据在内存,而且默认使用hash索引,但是一旦关闭,数据立刻丢失3、InnoDB和MyISAM的区别
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:最求快速查询,且数据修改少;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)