1. 首页 > 快讯

Innodb的磁盘和内存数据检索方法

1、表以.ibd文件的形式存储在硬盘上;

2、文件内部按照16k分为1个数据页;

3、有一个唯一的标记来标记每个数据页,即页码;

4、为了串联不同的页面,每个页面的页眉都会记录前后页面的地址,验证数据;以及数据的目录信息;

Innodb引擎、内存存储方式

1、索引内部使用B+树表数据; B+个叶子节点用来存储数据,非叶子节点用来存储索引。

2、B+树节点大小与数据页大小一致;非叶子节点存储主键(取决于主键大小p)和内存页号的指针(4字节)。叶子节点存储行数据,每行占用空间q

如何计算一个表支持的数据项数量?

Innodb的磁盘和内存数据检索方法

1、指向其他页面的非叶子节点数量为x

x=(16-1)*1024/(p+4) 其中1k 是头部尺寸

2、一个叶子节点可以容纳的数据行数为y

y=(16-1)*1024/q

3.B+树的层数为z

项目总数Total=x^(z-1) *y

例子

z=3,p=8(主键bigint),q=1k,则总计=2000w 项。前2层占用20M内存。第三层是叶子节点,存储数据,占用磁盘20G。

用户评论

汐颜兮梦ヘ

其实就是说mysql用innoDB引擎查询东西的时候是用磁盘读还是内存读吧?挺实际的问题

    有19位网友表示赞同!

淡抹烟熏妆丶

我一直觉得InnoDB和Memcached性能差别蛮大的,不知道是啥原因

    有18位网友表示赞同!

站上冰箱当高冷

这篇文章好像没讲到InnoDB缓存的管理机制啊,这个挺重要滴

    有11位网友表示赞同!

限量版女汉子

我觉得对优化查询速度来说,磁盘IO和内存访问速度区别还是挺明显的

    有11位网友表示赞同!

。婞褔vīp

看了下标题,感觉要了解一下内存优化技术了

    有9位网友表示赞同!

隔壁阿不都

明白了,如果数据频繁更新的话,内存数据检索会更快?

    有6位网友表示赞同!

﹎℡默默的爱

想深入了解InnoDB的缓存策略,这个题有点难啊!

    有18位网友表示赞同!

野兽之美

这篇帖子应该分析下影响磁盘和内存检索效率的因素吧

    有19位网友表示赞同!

風景綫つ

我之前没注意过这些细节,还是要多学习一下啊

    有18位网友表示赞同!

打个酱油卖个萌

好想知道磁盘检索速度太慢怎么办?有没有优化技巧?

    有6位网友表示赞同!

凉城°

感觉这种混合式数据检索方式挺适合实际环境应用的

    有6位网友表示赞同!

放血

对新手来说,理解InnoDB的检索机制还是有点难度哦

    有6位网友表示赞同!

暖栀

看这标题就知道,数据库底层实现机制太复杂了

    有12位网友表示赞同!

浅笑√倾城

"Innodb的磁盘和内存数据检索方式" 是个好主题,很多人都想了解这个问题

    有18位网友表示赞同!

?娘子汉

这个分析应该能帮助我更好地理解MySQL的数据处理流程

    有9位网友表示赞同!

搞搞嗎妹妹

我感觉这篇文章会介绍一些具体的案例,比如哪些数据适合内存存储

    有14位网友表示赞同!

把孤独喂饱

对开发者来说,理解InnoDB的检索方式很重要!

    有18位网友表示赞同!

仰望幸福

这篇帖子肯定会有很实用的技巧和建议

    有5位网友表示赞同!

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/4737.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666