博客
关于我
MySQL-Buffer的应用
阅读量:798 次
发布时间:2023-02-11

本文共 428 字,大约阅读时间需要 1 分钟。

前因

InnoDB 存储引擎在处理客户端的请求时,当需要访问某个页的数据时,就会将完整的页的数据全部加载到内存中。即使只需访问一条记录,也需要先加载整个页的数据。完成读写操作后,该页的内存空间不会立即释放,而是被缓存起来。这一机制可大幅减少磁盘IO开销,为后续访问提供快速访问路径。

Buffer Pool(缓冲池)

  • MySQL服务器启动时,向操作系统申请一片连续的内存区,这片内存即为Buffer Pool
  • 默认Buffer Pool大小为128M,可通过参数innodb_buffer_pool_size进行配置。示例值为innodb_buffer_pool_size = 268435456(256M)。
  • Buffer Pool大小不可太小,最小值为5M(若设置值低于该值,系统会自动调整为5M)。
  • 缓存页

    Buffer Pool中的缓存页大小与磁盘上的默认页大小一致,均为1KB。这种设计确保了缓存与存储介质的页大小保持一致,简化了数据读写逻辑。

    转载地址:http://ccbfk.baihongyu.com/

    你可能感兴趣的文章
    mysql 优化器 key_mysql – 选择*和查询优化器
    查看>>
    MySQL 优化:Explain 执行计划详解
    查看>>
    Mysql 会导致锁表的语法
    查看>>
    mysql 使用sql文件恢复数据库
    查看>>
    mysql 修改默认字符集为utf8
    查看>>
    Mysql 共享锁
    查看>>
    MySQL 内核深度优化
    查看>>
    mysql 内连接、自然连接、外连接的区别
    查看>>
    mysql 写入慢优化
    查看>>
    mysql 分组统计SQL语句
    查看>>
    Mysql 分页
    查看>>
    Mysql 分页语句 Limit原理
    查看>>
    MySQL 创建新用户及授予权限的完整流程
    查看>>
    mysql 创建表,不能包含关键字values 以及 表id自增问题
    查看>>
    mysql 删除日志文件详解
    查看>>
    mysql 判断表字段是否存在,然后修改
    查看>>
    mysql 协议的退出命令包及解析
    查看>>
    mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
    查看>>
    mysql 多个表关联查询查询时间长的问题
    查看>>
    mySQL 多个表求多个count
    查看>>