MySQL中MyISAM默认存储引擎的实现原理是什么

45次阅读
没有评论

共计 827 个字符,预计需要花费 3 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章将为大家详细讲解有关 MySQL 中 MyISAM 默认存储引擎的实现原理是什么,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

默认 MyISAM 的表会在磁盘中产生 3 个文件:.frm(表结构文件)、.MYD(数据文件)、.MYI( 索引文件)

可以在创建的时候指定数据文件和索引文件的存储位置,只有 MyISAM 表支持:

DATA DIRECTORY [=] 数据保存的绝对路径

INDEX DIRECTORY [=] 索引文件的绝对路径

MyISAM 单表最大支持的数据量为 2 的 64 次方跳记录

每个表最多可以建立 64 个索引

如果是复合索引,每个复合索引最多包含 16 个列,索引值最大长度是 1000B

MyISAM 引擎的存储格式:

定长(FIXED 静态):是指字段不包含 VARCHAR/TEXT/BLOB

动态(DYNAMIC):只要字段中包含了 VARCHAR/TEXT/BLOB

压缩(COMPRESSED):muisampack 创建

InnoDB 存储引擎:

设计遵循 ACID 模型,支持事务,具有从服务崩溃中恢复的能力,能够最大限度保护用户的数据

支持行级锁,可以提升多用户并发时的读写性能

InnoDB 拥有自己独立的缓冲池,常用的数据和索引都在缓存中

对于 INSERT、UPDATE、DELETE 操作,InnoDB 会使用一种 change buffering 的机制来自动优化,还可以提供一致性的读,并且还能够缓存变更的数据,减少磁盘 I /O,提高性能

创建 InnoDB 表之后会产生两个文件:

.frm 表结构文件

.ibd 数据和索引存储表空间中

所有的表都需要创建主键,最好是配合上 AUTO_INCREMENT, 也可以放到经常查询的列作为主键

关于“MySQL 中 MyISAM 默认存储引擎的实现原理是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计827字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)