目录 前言存储引擎 区别事务外键表单的存储数据查询效率数据更新效率 如何选择 前言 MyISAM和InnoDB是使用Mysql最常用的两种存储引擎,在5.5版本之前默认采用MyISAM存储引擎,从5.5开始采用InnoD
MyISAM和InnoDB是使用Mysql最常用的两种存储引擎,在5.5版本之前默认采用MyISAM存储引擎,从5.5开始采用InnoDB存储引擎。
存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
show engines; //查看存储引擎
关于数据库的大致架构和基础操作,参考本人博客,这里不过多介绍;
说区别之前说一下他俩的索引底层都是BTREE+ , B+树的数据结构维护索引和数据(m是非聚簇索引,i是聚簇索引,这点注意下)参考本人博客
因此把一个有外键的InnoDB表单转换成MyISAM表单会失败;
通过使用不同存储引擎建立表单查看生成的对应存储文件,发现除了双方共有的 .frm存储表属性外:
InnoDB存储引擎表单独存放到一个独立的IBD文件中;(索引和数据放在了一起)–>聚簇索引–>通过主键索引效率高; 普通键进行索引可能需要回表;
MyISAM存储引擎表单由MYD和MYI两部分组成,其中MYD(MYData)用来存放数据文件,而MYI(MYIndex)则用来存放索引文件–>非聚簇索引–>数据存放的是指针,不需要回表,主键索引和普通键索引分开了;
InnoDB的内部优化,包括**磁盘预读(**从磁盘读取数据时采用可预测性读取),自适应哈希(自动在内存中创建hash索引以加速读操作)等, 且能够加速插入操作的插入缓冲区。所以比MyISAM在数据更新能力上更优;
既然Mysql5.5版本之后默认了InnoDB,不知道用什么那就InnoDB,跟着主流走不会错;
来源地址:https://blog.csdn.net/wtl666_6/article/details/128822654
--结束END--
本文标题: MyISAM和InnoDB存储引擎的区别
本文链接: https://www.lsjlt.com/news/372405.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0