没有合适的资源?快使用搜索试试~ 我知道了~
为什么写缓冲区,仅适⽤于⾮ 唯⼀普通索引⻚? change Buffer基本概念 Change Buffer:写缓冲区,是针对⼆级索引(辅助索引) ⻚的更新优化措施。 作⽤: 在进⾏DML操作时,如果请求的辅助索引(⼆级索引)没有在缓冲 池中时,并不会⽴刻将磁盘⻚加载到缓冲池,⽽是在CB记录缓冲变更,等 未来数据被读取时,再将数据合并恢复到BP中 2、Mysql 的技术特点是什么? Mysql 数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多 线程 SQL 服务器、不同的后端、广泛的应用程序编程接口和管理工具。 3、Heap 表是什么? HEAP 表存在于内存中,用于临时高速存储。 BLOB 或 TEXT 字段是不允许的 只能使用比较运算符=,<,>,=>,= < HEAP 表不支持 AUTO_INCREMENT 索引不可为 NULL 与 Oracle 相比,Mysql 有什么优势? Mysql 是开源软件,随时可用,无需付费。 Mysql 是便携式的 带有命令提示符的 GUI。 使用 Mysql 查询浏览器支持管理
资源推荐
资源详情
资源评论
1.什么是BufferPool?
Buffer Pool基本概念
Buffer Pool:缓冲池,简称BP。其作⽤是⽤来缓存表数据与索引数据,减
少磁盘IO操作,提升效率。
Buffer Pool由缓存数据⻚(Page) 和 对缓存数据⻚进⾏描述的控制块 组成,
控制块中存储着对应缓存⻚的所属的 表空间、数据⻚的编号、以及对应缓
存⻚在Buffer Pool中的地址等信息.
Buffer Pool默认⼤⼩是128M, 以Page⻚为单位,Page⻚默认⼤⼩16K,⽽
控制块的⼤⼩约为数据⻚的5%,⼤ 概是800字节。
注: Buffer Pool⼤⼩为128M指的就是缓存⻚的⼤⼩,控制块则⼀般占
5%,所以每次会多申请6M的内存空间⽤于存放控制块
如何判断⼀个⻚是否在BufferPool中缓存 ?
MySQl中有⼀个哈希表数据结构,它使⽤表空间号+数据⻚号,作为⼀个
key,然后缓冲⻚对应的控制块作为value。
当需要访问某个⻚的数据时,先从哈希表中根据表空间号+⻚号看看是
否存在对应的缓冲⻚。
如果有,则直接使⽤;如果没有,就从free链表中选出⼀个空闲的缓冲
⻚,然后把磁盘中对应的⻚加载到该缓冲⻚的位置
2.InnoDB如何管理Page⻚?
Page⻚分类
BP的底层采⽤链表数据结构管理Page。在InnoDB访问表记录和索引时会
在Page⻚中缓存,以后使⽤可以减少磁盘IO操作,提升效率。
Page根据状态可以分为三种类型:
free page : 空闲page,未被使⽤
clean page:被使⽤page,数据没有被修改过
dirty page:脏⻚,被使⽤page,数据被修改过,Page⻚中数据和磁盘
的数据产⽣了不⼀致
Page⻚如何管理
针对上⾯所说的三种page类型,InnoDB通过三种链表结构来维护和管理
1. free list:表示空闲缓冲区,管理free page
free链表是把所有空闲的缓冲⻚对应的控制块作为⼀个个的节点放到⼀
个链表中,这个链表便称之为free链表
基节点: free链表中只有⼀个基节点是不记录缓存⻚信息(单独申请空
间),它⾥⾯就存放了free链表的头节点的地址,尾节点的地址,还有
free链表⾥当前有多少个节点。
2.flush list: 表示需要刷新到磁盘的缓冲区,管理dirty page,内部page
按修改时间排序。
InnoDB引擎为了提⾼处理效率,在每次修改缓冲⻚后,并不是⽴刻把
修改刷新到磁盘上,⽽是在未来的某个时间点进⾏刷新操作. 所以需要
使⽤到flush链表存储脏⻚,凡是被修改过的缓冲⻚对应的控制块都会作
为节点加⼊到flush链表.
flush链表的结构与free链表的结构相似
3.lru list:表示正在使⽤的缓冲区,管理clean page和dirty page,缓冲区
以midpoint为基点,前⾯链表称为new列表区,存放经常访问的数据,占
63%;后⾯的链表称为old列表区,存放使⽤较少数据,占37%
3.为什么写缓冲区,仅适⽤于⾮
唯⼀普通索引⻚?
change Buffer基本概念
Change Buffer:写缓冲区,是针对⼆级索引(辅助索引) ⻚的更新优化措施。
作⽤: 在进⾏DML操作时,如果请求的辅助索引(⼆级索引)没有在缓冲
池中时,并不会⽴刻将磁盘⻚加载到缓冲池,⽽是在CB记录缓冲变更,等
未来数据被读取时,再将数据合并恢复到BP中。
剩余135页未读,继续阅读
资源评论
青柠编程
- 粉丝: 1252
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功