数据库缓存 buffer pool详解

什么是buffer pool

        buffer pool, 又称之缓存池, 是mysql中为了提升查询性能而引入的缓存, 如果每次查询和修改都去操作磁盘的话, 性能就会很差, 从而引入

        Buffer Pool包含多个缓冲页(默认大小通常为16KB),每个缓冲页都有对应的控制信息,如表空间编号、页号等。当数据库请求数据时,首先会在Buffer Pool中查找所需的数据页。如果找到了(称为缓存命中),则直接使用该数据;如果没有找到(称为缓存未命中),则从磁盘读取数据页到Buffer Pool中,并可能替换掉Buffer Pool中最近最少使用的(LRU)数据页来为新数据腾出空间。

修改的时候也是会写入内存

但是因为buffer pool是基于内存的,所以空间不可能无限大,他的默认大小是128M,当然这个大小也不是完全固定的,我们可以调整,可以通过修改MySQL配置文件中的innodb_buffer_pool_size参数来调整Buffer Pool的大小。

 

SHOW VARIABLES LIKE 'innodb_buffer_pool_size';  -- 查看buffer poolSET GLOBAL innodb_buffer_pool_size = 512M; -- 修改buffer pool

buffer pool和query cache的区别
 

在Innodb中,除了buffer pool,还有一个缓存层是用来做数据缓存,提升查询效率的,很多人搞不清楚他和buffer pool的区别是什么。

首先就是他们目的和作用不同。Buffer Pool用于缓存表和索引的数据页,从而加速读取操作;而Query Cache用于缓存查询结果,减少重复查询的执行时间。

Buffer Pool主要与存储引擎InnoDB相关,而Query Cache也支持其他的引擎,如MyISAM等。所以,Query Cache是位于Server层的优化技术,而Buffer Pool 是位于引擎层的优化技术。

需要注意的是,在MySQL 5.7版本中,Query Cache已经被标记为废弃,并在MySQL 8.0版本中彻底被移除了。 

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

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

相关文章

Python 机器学习 基础 之 模型评估与改进 【评估指标与评分】的简单说明

Python 机器学习 基础 之 模型评估与改进 【评估指标与评分】的简单说明 目录 Python 机器学习 基础 之 模型评估与改进 【评估指标与评分】的简单说明 一、简单介绍 二、评估指标与评分 1、牢记最终目标 2、二分类指标 1)错误类型 2)不平衡数据集…

【产品运营】对接上游电商平台需要了解什么?

围绕卖家和平台的运营模式等维度,ISV对接平台可以划分为业务域、开放能力域和产品能力域。 ISV对接平台的最终目地是打通多方数据传输,解决卖家日常运营中的场景起到类似于业务中台的作用。因此我们可以围绕卖家和平台的运营模式等维度划分为&#xff1a…

Qt多进程-共享内存(Shared Memory)

在Qt中使用共享内存(Shared Memory)进行多进程程序开发,主要涉及以下步骤、代码示例和相关注意事项: 步骤: 创建共享内存区域: 使用QSharedMemory类来创建一个共享内存对象。设定一个唯一的共享内存键名&…

R可视化:可直接发表的柱状图

可发表的柱状图 介绍 柱状图可视化 加载R包 knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE) library(tidyverse) library(ggpubr) library(plyr) library(ggprism)rm(list = ls()) options(stringsAsFactors = F)# group & color dose_names &…

IntelliJ IDEA中Terminate 与 Disconnect的区别

Terminate 与 Disconnect的区别 Terminate:关工具之前,先关闭运行中的项目(kill pid的那种) Disconnect:单纯关闭工具,通过工具启动的东西,依旧在运行

mstsc 远程银河麒麟桌

安装 1.银河麒麟终端apt-get安装xrdp sudo apt-get install -y xrdp 2.银河麒麟终端启动xrdp sudo systemctl start xrdp 3.银河麒麟终端检查3389端口 netstat -tnpl 4. win10电脑mstsc 远程桌面登录 在win10系统命令行,输入mstsc打开远程连接窗口&#xff…

AWS迁移与传输之Migration Hub

AWS Migration Hub是一种集中化的迁移管理服务,可帮助企业规划、跟踪和管理在亚马逊云中进行的各种迁移活动。包括应用程序迁移、数据库迁移、服务器迁移等。 AWS Migration Hub (Migration Hub) 提供一个位置来跟踪使用多个 AWS 工具和合作伙伴解决方案的迁移任务…

【全开源】民宿酒店预订管理系统(ThinkPHP+uniapp+uView)

民宿酒店预订管理系统 特色功能: 客户管理:该功能可以帮助民宿管理者更加有效地管理客户信息,包括客户的姓名、电话、地址、身份证号码等,并可以在客户的订单中了解客户的消费情况,从而更好地满足客户的需求&#xff…

【JavaEE初阶】HTTP协议|HTTP请求方法|GET|POST|GET和POST的区别|问题辨析

目录 认识"⽅法"(method) 1.GET⽅法 GET请求的特点 2.POST⽅法 POST请求的特点 💡经典⾯试题:谈谈GET和POST的区别 💡问题辨析: 3.其他⽅法 💡推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂…

Cache 缓存实现类简单使用

Cache 缓存实现类 拿来当Redis用就行了,不过Hutool 缓存库主要是为了实现本地缓存;用在数据量不大,短期频繁访问的数据。 FIFO(先进先出)缓存:按照数据进入缓存的顺序,最先进入缓存的数据会被…

零基础学Java第二十五天之函数式接口

函数式接口 简介 函数式接口是指仅仅只包含一个抽象方法的接口,jdk1.8提供了一个FunctionalInterface注解来定义函数式接口,如果我们定义的接口不符合函数式的规范便会报错。配合Lambda表达式一起使用 四大核心函数式接口 函数式接口参数类型返回类型用…

【算法刷题day60】Leetcode:84. 柱状图中最大的矩形

文章目录 Leetcode 84. 柱状图中最大的矩形解题思路代码总结 草稿图网站 java的Deque Leetcode 84. 柱状图中最大的矩形 题目:84. 柱状图中最大的矩形 解析:代码随想录解析 解题思路 反方向接雨水。见上一篇文章 代码 class Solution {public int la…

六一儿童节创意项目:教你用HTML5和CSS3制作可爱的雪糕动画

六一儿童节快到了,这是一个充满童趣和欢乐的日子。为了给孩子们增添一份节日惊喜,我们决定用HTML5和CSS3制作一个生动有趣的雪糕动画。通过这个项目,不仅能提升你的前端技能,还能带给孩子们一份特别的节日礼物。无论你是前端开发新…

第一个Flutter3项目

配置flutter国内源 首先,配置flutter的国内源: env:PUB_HOSTED_URL"https://pub.flutter-io.cn"; env:FLUTTER_STORAGE_BASE_URL"https://storage.flutter-io.cn"配置gradle国内源 修改gradle\wrapper\gradle-wrapper.properties…

layui table在不发送请求时更新templet操作列

使用的layui的版本为2.4.5 更高的版本好像已经有了更新templet列的方法 而低版本的好像是没有 // 在列表中添加 templet: #opTpl , {field: opTpl, title: 操作, fixed: left, width: 290, templet: #opTpl}// 所定义的操作列按钮 <script id"opTpl" type"t…

组件的传参等

一:组件的生命周期函数 组件的生命周期函数: created只是创建了组件内的实例对象 attached,给组件实例绑定了属性,绑定到页面节点树之后 ready准备好渲染之后,还未渲染之前 moved组件实例被移动到另一个位置后执行 detached在整个组件被被移除执行 error执行的时候,组件内…

yolo 算法 易主

标题&#xff1a;YOLOv10: Real-Time End-to-End Object Detection 论文&#xff1a;https://arxiv.org/pdf/2405.14458ethttps%3A//arxiv.org/pdf/2405.14458.zhihu.com/?targethttps%3A//arxiv.org/pdf/2405.14458 源码&#xff1a;https://github.com/THU-MIG/yolov10 分析…

N进制计数器【02】

大容量N进制计数器 集成计数器容量的扩展 集成计数器级联扩展容量 【例1】由两片 74LS161 级联组成 256 进制&#xff08;8位二进制&#xff09;同步加法计数器 【解】级联时&#xff0c;外加时钟信号同时接到各片计数器的时钟输入端&#xff0c;用前级计数器的进位输出 C…

Transformer模型架构笔记

0. 简介 Transformer是一种用于自然语言处理&#xff08;NLP&#xff09;和其他序列到序列&#xff08;sequence-to-sequence&#xff09;任务的深度学习模型架构&#xff0c;它在2017年由Vaswani等人首次提出。Transformer架构引入了自注意力机制&#xff08;self-attention …

JUC笔记

1、什么是 JUC JUC就是 java.util 下的工具包、包、分类等。 普通的线程代码&#xff1a; ThreadRunnable 没有返回值、效率相比入 Callable 相对较低&#xff01;Callable 有返回值&#xff01; 2、线程和进程 线程、进程&#xff0c;如果不能使用一句话说出来的技术&#x…