返回顶部
首页 > 资讯 > 数据库 >InnoDB change buffer
  • 563
分享到

InnoDB change buffer

2024-04-02 19:04:59 563人浏览 独家记忆
摘要

InnoDB change buffer 一种重要的数据变更日志Change buffer的主要目的是将对二级索引的数据操作缓存下来,以此减少二级索引的随机io,并达到操作合并的效果。在Mysql5.5之前

InnoDB change buffer 一种重要的数据变更日志

Change buffer的主要目的是将对二级索引的数据操作缓存下来,以此减少二级索引的随机io,并达到操作合并的效果。


Mysql5.5之前的版本中,由于只支持缓存insert操作,所以最初叫做insert buffer,只是后来的版本中支持了更多的操作类型缓存,才改叫change buffer。


当更新/插入的非聚集索引的数据所对应的页不在内存中时(对非聚集索引的更新操作通常会带来随机IO),会将其放到一个insert buffer中,当随后页面被读到内存中时,会将这些变化的记录merge到页中。当服务器比较空闲时,后台线程也会做merge操作

 

但change buffer会占用buffer pool,并且在非聚集索引很少时,并不总是必要的,反而会降低buffer pool做data cache的能力。




The INFORMATION_SCHEMA.INNODB_BUFFER_PAGE table provides metadata about each page in the buffer pool, including change buffer index and change buffer bitmap pages. Change buffer pages are identified by PAGE_TYPE. IBUF_INDEX is the page type for change buffer index pages, and IBUF_BITMAP is the page type for change buffer bitmap pages. 


For example, you can query the INNODB_BUFFER_PAGE table to determine the approximate number of IBUF_INDEX and IBUF_BITMAP pages as a percentage of total buffer pool pages. 


SELECT

(SELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE

WHERE PAGE_TYPE LIKE 'IBUF%'

) AS change_buffer_pages,

(

SELECT COUNT(*)

FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE

) AS total_pages,

(

SELECT ((change_buffer_pages/total_pages)*100)

) AS change_buffer_page_percentage;

+---------------------+-------------+-------------------------------+

| change_buffer_pages | total_pages | change_buffer_page_percentage |

+---------------------+-------------+-------------------------------+

|                  25 |        8192 |                        0.3052 |

+---------------------+-------------+-------------------------------+


没有对比,不知道这个结果的性能好坏。


您可能感兴趣的文档:

--结束END--

本文标题: InnoDB change buffer

本文链接: https://lsjlt.com/news/38275.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • InnoDB change buffer
    InnoDB change buffer 一种重要的数据变更日志Change buffer的主要目的是将对二级索引的数据操作缓存下来,以此减少二级索引的随机IO,并达到操作合并的效果。在MySQL5.5之前...
    99+
    2024-04-02
  • mysql的buffer pool 和 change buffer
    线上三张图吧:   一、innodb系统架构图  mysql的buffer pool 和 change buffer原文地址:https://www.cnblogs.com/mmh760/p/13500691.html...
    99+
    2016-11-06
    mysql的buffer pool change buffer 数据库入门 数据库基础教程 数据库 mysql
  • InnoDB Buffer Pool
    Buffer Pool本质上是InnoDB向操作系统申请的一段连续的内存空间,可以通过innodb_buffer_pool_size来调整它的大小。 Buffer Pool内部组成:Buffer Pool向操作系统申请的连续内存由控制块和缓...
    99+
    2021-12-25
    InnoDB Buffer Pool
  • Configuring InnoDB Buffer Pool
    翻译自5.7官方文档InnoDB performs certain tasks in the background, including flushing of dirty pages (those pag...
    99+
    2024-04-02
  • MySQL Buffer pool里的change buffer是什么
    小编给大家分享一下MySQL Buffer pool里的change buffer是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一...
    99+
    2024-04-02
  • 怎么配置Change Buffer
    小编给大家分享一下怎么配置Change Buffer,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  Change Buffer...
    99+
    2024-04-02
  • 怎么理解MySQL change buffer
    本篇内容介绍了“怎么理解MySQL change buffer”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • mysql 5.5 -- innodb buffer pool优化
    InnoDB buffer pool 被设为两个SUBLIST:一个是存放大部分查询所需用到的块;另一个是存放小量查询所需用到的块;并可以被回收;[@more@]The InnoDB buffer pool...
    99+
    2024-04-02
  • Mysql 8.0 之调整 innodb buffer
    innodb_buffer_pool_size参数 这是一个内存区域,用来缓存InnoDB存储引擎的表中的数据和索引数据,以便提高对InnoDB存储引擎表中数据的查询访问速度。InnoDB buffer pool 里包含: 数据缓存 Inn...
    99+
    2023-09-25
    数据库 mysql
  • InnoDB Insert Buffer: unable to purge a record
    转载: http://mysqllover.com/p=1264 参考: InnoDB Insert Buffer实现详解 http://hedengcheng.com/p=94 ...
    99+
    2024-04-02
  • mysql中change buffer的作用是什么
    MySQL中的change buffer是用来缓存对InnoDB表的插入、更新和删除操作的数据结构。它的作用是延迟对磁盘的写入操作,...
    99+
    2024-05-15
    mysql
  • mysql中change buffer的用法是什么
    在MySQL中,change buffer是一种缓冲池,用于延迟执行INSERT、UPDATE和DELETE操作的物理写入。当对表进...
    99+
    2024-05-15
    mysql
  • innodb新特性之buffer pool预热
    背景 innodb buffer pool做为innodb最重要的缓存,其缓存命中率的高低会直接影响数据库的性能。因此在数据库发生变更,比如重启、主备切换实例迁移等等,innodb buffer pool ...
    99+
    2024-04-02
  • Innodb关键特性之什么是Insert Buffer
    本篇内容介绍了“Innodb关键特性之什么是Insert Buffer”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够...
    99+
    2024-04-02
  • MySQL性能优化InnoDB buffer pool flush分析
    这篇文章主要讲解了“MySQL性能优化InnoDB buffer pool flush分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL性能优化I...
    99+
    2024-04-02
  • 怎么给从库热数据innodb buffer pool
    本篇内容介绍了“怎么给从库热数据innodb buffer pool”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2024-04-02
  • MySQL Innodb关键特性之插入缓冲(insert buffer)
    什么是insert buffer?    插入缓冲,也称之为insert buffer,它是innodb存储引擎的关键特性之一,我们经常会理解插入缓冲时缓冲池的一个部分,这样的理解是片面的,ins...
    99+
    2022-05-27
    MySQL Innodb Innodb 插入缓冲 Innodb insert buffer
  • MYSQL innodb buffer 状态数据的保存和载入
    本文参考官方手册 原创转载请注明出处 版本:MYSQL 5.7 当数据库重启后,buffer中的数据需要重新预热,所谓预热就是等待常用数据通过用户调用SQL语句从磁盘载入到内存, 这个过程ORACLE...
    99+
    2024-04-02
  • MySQL管理之道-笔记-InnoDB Buffer Pool预热改进
    InnoDB Buffer Pool预热改进 InnoDB Buffer Pool预热改进只支持MySQL5.7和Percona5.7数据库重启时,如何将之前频繁访问的数据加载回BUFFER中?MySQL5...
    99+
    2024-04-02
  • MySql InnoDB存储引擎之Buffer Pool运行原理讲解
    目录1. 前言2. Buffer Pool2.1 Buffer Pool结构2.2 Free链表2.3 缓冲页哈希表2.4 Flush链表2.5 LRU链表2.6 多个实例2.7 Buffer Pool状态信息3. 总结...
    99+
    2023-01-04
    MySql InnoDB存储引擎Buffer Pool MySql InnoDB MySql InnoDB Buffer Pool
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作