MySQL存储底层原理

本文介绍了MySQL中的InnoDB和Myisam存储引擎,包括它们的数据文件、索引结构以及事务支持。同时,详细讲解了硬盘数据的存储原理,如磁道、柱面、扇区等,并探讨了预读机制。最后,深入讨论了B+Tree在MySQL索引中的应用,解释了InnoDB和Myisam的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL存储引擎

InnoDB
  InnoDB 的存储文件有两个,后缀名分别是.frm和.idb,其中.frm是表的定义文件,而.idb是数据文件。InnoDB 中存在表锁和行锁,不过行锁是在命中索引的情况下才会起作用。InnoDB 支持事务,且支持四种隔离级别(读未提交、读已提交、可重复读、串行化),默认的为可重复读。

Myisam
  Myisam 的存储文件有三个,后缀名分别是.frm、.MYD、.MYI,其中 .frm是表的定义文件,.MYD是数据文件,.MYI是索引文件。Myisam 只支持表锁,且不支持事务。Myisam 由于有单独的索引文件,在读取数据方面的性能很高 。InnoDB 和 Myisam 都是用 B+Tree 来存储数据的。

MySQL 的数据、索引存储结构

数据存储的原理(硬盘)
  信息存储在硬盘里,硬盘是由很多的盘片组成,通过盘片表面的磁性物质来存储数据。盘片表面是凹凸不平的,凸起的地方被磁化,代表数字 1,凹的地方没有被磁化,代表数字 0,因此硬盘可以通过二进制的形式来存储表示文字、图片等的信息。硬盘是由盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部分组成。

数据读写的原理

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值