MySQL学习笔记 - 脏页刷新策略

栏目: 数据库 · 发布时间: 6年前

内容简介:这种情况要尽量避免,出现这种情况的时候,整个系统就不能再接受更新了,所有更新都将被阻塞内存不足是指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等等

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Fluent Python

Fluent Python

Luciano Ramalho / O'Reilly Media / 2015-8-20 / USD 39.99

Learn how to write idiomatic, effective Python code by leveraging its best features. Python's simplicity quickly lets you become productive with it, but this often means you aren’t using everything th......一起来看看 《Fluent Python》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具