MySQL_11.InnoDB Buffer Pool原理与配置

1.buffer pool原理
(1)innodb_buffer_pool_instances:
windows default 1个实例、windows default 8个实例;
将热点打散,提高并发的性能改善并发,通过降低竞争因为不同的线程读和写cached pages(缓存页)
内存小于1G默认1个,这个选项只有当设置 innodb_buffer_pool_size 值大于1G时才生效
总共你指定的大小是分配给所有的buffer pools。
计算buffer pool每个instance大小 

select @@innodb_buffer_pool_size / @@innodb_buffer_pool_instances / 1024 / 1024 "MB" ;

(2)innodb_page_size:

innodb_buffer_pool以页PAGE单位,大小同 innodb_page_size一样,16K大小;
select @@innodb_page_size / 1024 "KB";

(3)innodb buffer pool组成部分:

free list:        innodb启动时,有多个16K的空白页,这些页就存在free list 中。
lur list:        当读取一个数据页的时候,就从free list 中取出一个页,存放数据,并将这个页放入到lur list。
flush list:    当lur list 中的页第一次被修改时,就将LRU页的指针(page number) 放到flush list(只要被修改过的,无论被改了多少次),flush list 包含脏页,即数据改过未刷到磁盘的页。free list     >     LUR list     >      flush list  >    磁盘  > free list


(4)LUR list管理的方式、mid point 算法 :
这个页第1次读取的时候,该页先放到 MID point的位置。
当被读到的第2次,才将这个页放到 new page的首部。    

-----------------------------------------------
LRU LIST mid point
-----------------------------------------------
new page      ||    old page
-----------------------------------------------
mid point > new page 
mid point > old page  
mid point > old page > new page 
mid point > old page >  flush disk 
mid point > new page > old page > flush disk


2.innodb_buffer_pool_filename  buffer pool 启动和卸载
mysql 5.6 之前每次启动buffer pool 中页是空的,每次都需要大量的时间加载新的页到内存中,启动后有一段时间性能差
mysql 5.6 之后:每次停机会dump出buffer pool的数据(space,page number),然后启动时候load进buffer pool预热

select @@innodb_buffer_pool_filename;


3.innodb buffer pool 大小的调整
mysql 5.7 之前:不能在线调整,需要重启才能生效。
mysql 5.7 之后:可以在线调整,需要修改my.cnf后重启永久生效。


4.查看 innodb buffer 状态

show engine innodb status\G;
----------------------
BUFFER POOL AND MEMORY
----------------------
Total large memory allocated 4397727744         总分配的mysql的内存    
Dictionary memory allocated 116177              数据字典内存
Buffer pool size   262112                       有多少innodb buffer页
Free buffers       261070                       free list 、有多少空白的页
Database pages     1042                         lru list 、有多少页在使用
Old database pages 0                            lru list 、old page页
Modified db pages  0                            脏页

# 查询 innodb buffer和lru list 状态

SELECT p. POOL_ID "innodb pool ID",p. POOL_SIZE "pool页数量",p. FREE_BUFFERS "free list 空白页数量",p. DATABASE_PAGES "lru list 使用页数量",p. OLD_DATABASE_PAGES "lru list 旧页数量",p. MODIFIED_DATABASE_PAGES "lru list 脏页数量",l. LRU_POSITION "lru位置",l. SPACE "表空间号",l. PAGE_NUMBER "页号",l. PAGE_TYPE "页类型",l. TABLE_NAME "页关联表名",l. OLDEST_MODIFICATION "第一次修改的页值",l. NEWEST_MODIFICATION "最近修改页的LSN值"FROM information_schema.innodb_buffer_pool_stats pINNER JOIN information_schema.innodb_buffer_page_lru lON p. POOL_ID = l. POOL_ID;


5.InnoDB 数据字典,数据库的元数据(数据库名,表名,数据类型,结构,访问权限)
(1)mysql 5.7 之前: 系统表空间 + frm 文件
(2)mysql 8.0 之后: 系统表空间
(3)获取mysql数据字典,数据库的元数据内容SQL语句

SELECT C.COLUMN_NAME    AS '字段名',C.COLUMN_TYPE    AS '数据类型',C.IS_NULLABLE    AS '允许为空',C.EXTRA          AS 'PK',C.COLUMN_COMMENT AS '字段说明'FROM information_schema.columns CINNER JOIN information_schema .tables TON C.TABLE_SCHEMA = T.TABLE_SCHEMAAND C.TABLE_NAME = T.TABLE_NAMEWHERE T.TABLE_SCHEMA = 'scott'AND T.TABLE_NAME = 'emp';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/221167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android开发中压缩文件和文件夹

Android开发中,我们经常会遇到上传文件,用到压缩文件、文件夹的功能,今天我们主要讲解这个功能,具体的实现如下: /*** 压缩文件和文件夹** param srcFileString 要压缩的文件或文件夹* param zipFileString 压缩完成的…

【论文极速读】视频检索中的模态均衡方法

【论文极速读】视频检索中的模态均衡方法 FesianXu 20231206 at Baidu Search Team 前言 传统的视频搜索系统相关性部分主要以文本匹配为基础手段,在其中引入多模态向量容易收到『模态不均衡』的问题,论文[1]尝试对其进行解决,本文进行笔记。…

【算法技术专题】精彩解密KMP算法之跃进式搜索的深度探索

KMP算法 KMP算法介绍KMP算法历史KMP算法思路性能损耗算法思路结构模型准备KMP算法的实现步骤生成next数组构建next数组原理生成nexf数组代码实现 代码案例解释说明 字符串对比操作代码案例解释说明 算法效果 KMP算法介绍 KMP算法(Knuth-Morris-Pratt算法&#xff0…

02markdown-学习笔记

一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 换行符<br>标签 写入一段测试用的正文第二段测试文本,如果要对文本进行换行可以使用<br>标签 文本修饰符 字体为斜体的修饰&#xff0c;一对星号包含 字符为粗体&#xff0c;两对星号包含 字体为…

springboot 拦截器之Advisor不生效问题

SPringBoot使用方法注解拦截器时遇到不生效问题记录&#xff1a; 定义方法注解 Target({ElementType.TYPE, ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Inherited Documented public interface DataScope {boolean enable() default true;}定义 Advisor Getter…

出现 java: 找不到符号 符号: 变量 log 的解决方法

目录 1. 问题所示2. 原理分析3. 解决方法3.1 增加编译参数3.2 增加lombok插件3.3 清楚本地缓存1. 问题所示 使用Springboot启动项目的时候,出现如下bug: java: 找不到符号符号: 变量 log位置: 类 org.springblade.example.consumer.rpc.BlogStu

如何定位线上OOM?

文章目录 造成OOM的原因1.一次性申请的太多2. 内存资源耗尽未释放3.本身资源不够 如何快速定位OOM&#xff1f;1.系统已经OOM了2.系统运行中还未OOM2.1导出dump文件&#xff1a;2.2.结合jvisualvm进行调试2.3 利用ArthasArthas可以做什么&#xff1f;如何使用Arthas小结 造成OO…

Docker常用命令总结

文章目录 Docker命令总结 Docker命令总结 简介&#xff1a;Docker是一个基于轻量级虚拟化技术的容器&#xff0c;整个项目基于Go语言开发&#xff0c;并采用了Apache 2.0协议。Docker可以将我们的应用程序打包封装到一个容器中&#xff0c;该容器包含了应用程序的代码、运行环…

【带头学C++】----- 九、类和对象 ---- 9.13 运算符重载——(9.13.7-9.13.8)

❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️创做不易&#xff0c;麻烦点个关注❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️ ❤️❤️❤️❤️❤️❤️❤️❤️❤️文末有惊喜&#xff01;献舞一支&#xff01;❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️ 目录 9.13…

Git篇---第九篇

系列文章目录 文章目录 系列文章目录前言一、使用过git merge和git rebase吗?它们之间有什么区别?二、使用过git cherry-pick,有什么作用?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看…

GPIO模拟MDIO

背景 CPU&#xff1a;AST2500 驱动里实现GPIO模拟MDIO驱动,参考内核驱动mdio-bitbang.c和mdio-gpio.c&#xff0c;当前项目不支持设备树&#xff0c;驱动需要改成platform注册 MDIO介绍 SMI接口 SMI是MAC内核访问PHY寄存器接口&#xff0c;它由两根线组成&#xff0c;双工…

旅游规划

有了一张自驾旅游路线图&#xff0c;你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序&#xff0c;帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的&#xff0c;那么需要输出最便宜的一条路径。 输入格式: …

c++ qt 窗口开发中 俩按钮组合 配合 显影 已解决

在日常项目中&#xff0c;有这么需求&#xff0c;还想窗口移动&#xff0c;还想 右侧关闭 还能tab栏点击显影的需求&#xff0c;不得使用 qt模拟点击事件 进行功能优化 特大杯 大杯 控制 窗口显影&#xff0c; 咖啡 按钮 显示窗口 可乐 豆浆 不显示窗口 四个按钮的 互斥关…

Amazon SageMaker机器学习之旅的助推器

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 亚马逊云科技开发者社区, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道。 一、前言 在当今的数字化时代&#xff0c;人工智能和机器学习已经…

Android Studio报Gradle问题解决思路

Gradle的版本号与Android studio版本、AGP&#xff08;Android Gradle Plugin&#xff09;版本、jdk版本都有关系。只有同时匹配三个版本号&#xff0c;才能使用对应的Gradle版本。 1、AGP的版本号与Android studio版本的关系。 Google 搜索 Android studio gradle plugin re…

2023一起益企广东省中小企业数字化赋能活动(深圳站)成功举办

12月12日&#xff0c;由广东工业和信息化厅指导&#xff0c;广东省中小企业服务中心、深圳市中小企业服务局主办&#xff0c;深圳联通承办的2023年“一起益企”广东省中小企业数字化赋能专项对接志愿服务活动&#xff08;深圳站&#xff09;在深圳成功举办。 本次活动涵盖中小企…

【AI底层逻辑】——“数学华尔兹”之一元线性回归

一元线性回归模型想必大家都耳熟能详&#xff0c;这里不再赘述。但在使用python中机器学习包时一定见过类似模型评价参数的输出&#xff0c;这一章我们就讲一讲回归分析里一些模型评价概念&#xff01; 一、方差分析ANOVA 方差分析是一种用于确定线性回归模型中不同变量对目标…

【改进YOLOv8】车辆测距预警系统:融合空间和通道重建卷积SCConv改进YOLOv8

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义&#xff1a; 随着交通工具的普及和道路交通的不断增加&#xff0c;车辆安全问题日益凸显。特别是在高速公路等高速道路上&#xff0c;车辆之间的距离和速度差异较…

1036 跟奥巴马一起编程

美国总统奥巴马不仅呼吁所有人都学习编程&#xff0c;甚至以身作则编写代码&#xff0c;成为美国历史上首位编写计算机代码的总统。2014 年底&#xff0c;为庆祝“计算机科学教育周”正式启动&#xff0c;奥巴马编写了很简单的计算机代码&#xff1a;在屏幕上画一个正方形。现在…

【论文】 虚拟机 和 Linux容器 的 最新性能比较

虚拟机 和 Linux容器 的 最新性能比较 An Updated Performance Comparison of Virtual Machines and Linux Containers 借助DeepL辅助翻译 校准 摘要 云计算广泛使用虚拟机&#xff08;VM&#xff09;&#xff0c;因为它们允许工作负载相互隔离&#xff0c;并在一定程度上控…