MySQL InnoDB 的 Buffer Pool 是什么?
Buffer Pool 是 InnoDB 的内存缓冲池(默认 128MB,生产一般设为物理内存 60-80%),缓存:① 数据页(表数据、索引页)——避免每次读磁盘;② 索引页;③ undo 页、插入缓冲等。机制:① LRU 淘汰(改良版:分 young/old 区防大查询污染缓存);② 脏页:修改先落内存页,由后台线程异步刷盘(redo log 保证崩溃不丢);③ 预读(顺序扫描提前加载);④ 命中率监控(Innodb_buffer_pool_read_hits)。调优:innodb_buffer_pool_size、innodb_buffer_pool_instances(分片减少锁竞争)。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。