内容简介:这种情况要尽量避免,出现这种情况的时候,整个系统就不能再接受更新了,所有更新都将被阻塞内存不足是指InnoDB中的buffer pool的剩余内存不足buffer pool中的数据页有三种状态:
这种情况要尽量避免,出现这种情况的时候,整个系统就不能再接受更新了,所有更新都将被阻塞
场景2 - 系统内存不足
内存不足是指InnoDB中的buffer pool的剩余内存不足
buffer pool中的数据页有三种状态:
- 还未使用
- 使用后,仍然是干净页
- 使用后,变成脏页
数据页从磁盘读入内存时,需要 向buffer_pool申请一个数据页 ,buffer_pool会根据 LRU算法 淘汰一个数据页,如果淘汰的数据页是脏页,那么会先将脏页数据刷新到磁盘中,然后才复用数据页;如果一个查询要 淘汰掉的脏页太多了,会导致查询的响应时间变长
- InnoDB从磁盘中加载数据的时候,是以数据页作为单位的, 默认数据页大小为16K ,通过参数 innodb_page_size 可以设置数据页的大小(从 MySQL 5.6开始可以通过这个参数调整,但是5.6以前,需要修改源码中的UNIV_PAGE_SIZE相关值)
- buffer_pool中的LRU算法是改进后的URL算法,目的是为了InnoDB加载冷数据的同时,可以 保持buffer_pool的内存命中率
- buffer_pool是InnnoDB的缓冲池,里面包含了各种buffer,例如change_buffer、join_buffer等等
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Swift iOS : 上拉刷新或者下拉刷新
- Swift iOS : 上拉刷新或者下拉刷新
- 优雅地刷新RecyclerView
- 上拉加载 下拉刷新
- jQuery ajax局部刷新
- vue项目刷新当前页
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。