InnoDB 缓冲池

InnoDB 维护一个称为缓冲池的存储区域, 用于缓存内存中的数据和索引

缓冲池的大小当然是越大越好 (为服务器上的其他进程留下足够的内存)

InnoDB 已块的形式存储缓存 通过以下参数配置缓存大小

// 查看总缓存大小

show global variables like 'innodb_buffer_pool_size';

// 查看每个缓存池的大小

show global variables like 'innodb_buffer_pool_chunk_size';

// 缓存池的数量

show global variables like 'innodb_buffer_pool_instances';

总缓存大小必须是 ( 每个缓存池的大小 * 缓存池的数量 ) 的倍数

当设置的innodb_buffer_pool_size不是 innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances倍数时 那么mysql会自动调整 innodb_buffer_pool_size 的大小 ( 向上取值到 最近的一次倍数 )

# 如

innodb_buffer_pool_size = 9G

innodb_buffer_pool_chunk_size = 128M

innodb_buffer_pool_instances = 16

128*16 = 2048M

那么 9G 不是 2048M 的倍数 则 innodb_buffer_pool_size 自动向上取最近的一个为2048M倍数的值 10G

设置缓存池大小

动态设置

SET GLOBAL innodb_buffer_pool_size = 402653184;

# 配置文件

[mysqld]

innodb_buffer_pool_size = 134217728

配置多个缓冲池

将缓冲池划分为多个单独的实例,通过减少不同线程读取和写入缓存的争用来提高并发性

此功能通常适用于千兆范围内的系统

innodb_buffer_pool_instances 默认值为 1

调整参数 将 innodb_buffer_pool_instances 最大可设置为64个

将每个缓存池的大小至少分配到1G或更高

mysql innodb缓冲池_InnoDB 缓冲池相关推荐

  1. MySQL InnoDB的缓冲池之预读失效和缓存池污染

    InnoDB的缓存池作用: 缓存表数据和索引数据,把磁盘上的数据加载到缓冲池中,避免每次都进行磁盘IO,起到加速访问的效果. LRU算法(Least recently used): 把入缓存池的页放在 ...

  2. InnoDB存储引擎——缓冲池

    文章目录 缓冲池 缓冲池中的三种链 CheckPoint技术 缓冲池 虽然InnoDB是基于磁盘存储的,但是由于CPU和磁盘速度的巨大鸿沟,所以对于数据库中的页的修改操作,首先会修改在缓冲池中的页,然 ...

  3. mysql innodb 读加锁_InnoDB 读大量数据时会加读锁么?

    结论 默认不会加读锁!但 MySQL InnoDB 的可重复读并不保证避免幻读,需要应用使用加锁读来保证.而这个加锁度使用到的机制就是 next-key locks. 隔离级别说明 MySQL Inn ...

  4. mysql内存体系结构_Innodb存储引擎的体系架构之内存

    Inndo中缓冲池存在的主要目的是,减少数据库与磁盘的交互.进程通过内存读写数据的速度远远快于磁盘. Innodb内存结构主要由两部分组成redo_log_buffer和缓冲池,redo_log_bu ...

  5. [MySQL] InnoDB三大特性之 - 插入缓冲

    InnoDB存储引擎有三大特性非常令人激动,它们分别是插入缓冲.两次写和自适应哈希,本篇文章先介绍第一个特性 - 插入缓冲(insert buffer) 在上一篇<MySQL - 浅谈InnoD ...

  6. 十一. MySQL InnoDB 三大特性之 BufferPool

    目录 一. BufferPool BufferPool基础与内部几个链表的解释 1. free链表 磁盘页加载到BufferPool的缓存流程 2. hash表 3. flush链表 flush 写入 ...

  7. mysql 页分裂_InnoDB中的页合并与分裂

    如果你找过任何一位MySQL顾问,问他对你的语句和/或数据库设计的建议,我保证他会跟你讲主键设计的重要性.特别是在使用InnoDB引擎的情景,他们肯定会给你解释索引合并和页分裂这些.这两个方面与性能息 ...

  8. mysql compact_在 MySQL InnoDB 中,COMPRESSED, COMPACT 和DYNAMIC 有什么区别?

    In MySQL InnoDB, what is the difference between COMPRESSED, COMPACT and DYNAMIC for ROW_FORMAT? What ...

  9. mysql innodb 表数据压缩

    记得一次面试中,面试官问我是否知道表的压缩,这个时候我才知道mysql有个表压缩这么个功能,今天试用下看看表的压缩率怎么样. 这里分两个部分说明,第一部分:官方文档说明:第二部分:具体实例测试. [第 ...

最新文章

  1. [Bat]UNC路径不支持的2种解决方法
  2. 4-spark学习笔记-spark运行模式与原理
  3. 《敏捷迭代开发:管理者指南》—第2章2.9节增量交付
  4. Calendar是日历类
  5. 2.7-源码编译安装
  6. Tensor flow 实战Google深度学习框架 笔记摘要Pthree(二)
  7. js实现登录表单验证
  8. Win10华硕atk驱动怎么安装_雨林木风win10系统U盘怎么安装
  9. SSM框架整合思想及步骤
  10. 达梦数据库角色、用户管理
  11. 201771010102 常惠琢 《面向对象程序设计(java)》第十三周学习总结
  12. 做量化你需要知道的那些术语!(持续更新)
  13. 手机双摄像头原理及产业解析
  14. 智能清洁新消费的2021:不止营销造势,还有实力突围
  15. Hazelcast IMDG学习 Map java demo
  16. 什么是DML与DDL
  17. 最简单的直播源抓取方法
  18. word设置每页50行
  19. 临时链接转为永久链接的三种方法
  20. 不可不学的摄影技巧之三(摄影小窍门)

热门文章

  1. Linux下创建GPIO(/sys/class/gpio)
  2. Android中的跨进程调用技术AIDL
  3. 人脸方向学习(十四):Face Anti-Spoofing-人脸活体检测-双目红外活体检测解读
  4. linux docker状态,Linux之Docker
  5. 便宜php扩展,php扩展【货币问答】- php扩展所有答案 - 联合货币
  6. linux的多任务编程-线程池,Linux的多任务编程-线程池
  7. python绘图背景透明_如何在 Matplotlib 中更改绘图背景
  8. mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
  9. stm32按键矩阵代码_STM32学习日志——电容触摸按键实验(20-06-27)
  10. TF卡里删掉文件后内存没变大_为何手机存储空间还没用就快满了?删掉这些隐藏冗余文件满血复活...