Mysql InnoDB 存储引擎笔记
1 存储引擎 简介
Mysql 存储引擎有多种:包括 MyISAM、InnoDB 和 Memory。
其中MyISAM 和 INNODB 的区别:
- 事务安全(MyISAM不支持事务,INNODB支持事务);
- 外键 MyISAM 不支持外键, INNODB支持外键;
- 锁机制(MyISAM时表锁,innodb是行锁);
- 查询和添加速度(MyISAM批量插入速度快);
- 支持全文索引(MyISAM支持全文索引,INNODB不支持全文索引);
- MyISAM内存空间使用率比InnoDB低。
InnoDB是是最常用的存储引擎。
2 InnoDB 简介
存储引擎:是底层物理结构和实际文件读写的实现。
InnoDB 是一个将表中的数据存储到磁盘上的存储引擎。
InnoDB 的内存结构图如下:

3 InnoDB 三大特性
三大特性:
-
双写缓冲区
Doublewrite buffer,
作用:在把页写到数据文件之前,InnoDB 先把它们写到一个叫 doublewrite buffer(双写缓冲区)的连续区域内,在写 doublewrite buffer 完成后,InnoDB 才会把页写到数据文件的适当的位置。 -
Buffer Pool
处理客户端的请求时,当需要访问某个页的数据时,就会把完整的页的数据全部加载到内存中,将整个页加载到内存中后就可以进行读写访问了,在进行完读写访问之后并不着急把该页对应的内存空间释放掉,而是将其缓存起来,这样将来有请求再次访问该页面时,就可以省去磁盘 IO 的开销了。 -
自适应 Hash 索引
InnoDB 去监控索引表,如果监控到某个索引经常用,那么就认为是热数据,然后内部自己创建一个 hash 索引,称之为自适应哈希索引(Adaptive Hash Index,AHI)。
如果没有自适应 Hash 索引,需通过B+tree 索引中查询节点。
三大特性场景:
双写缓冲区:写磁盘;
Buffer Pool:读写缓存;
自适应 Hash 索引:查询数据。
小结:
利用内存、磁盘(文件),应用不同数据结构(数组、链表、hash表、B+tree),处理读写数据的策略实现。
相关文章:
Mysql InnoDB 存储引擎笔记
1 存储引擎 简介 Mysql 存储引擎有多种:包括 MyISAM、InnoDB 和 Memory。 其中MyISAM 和 INNODB 的区别: 事务安全(MyISAM不支持事务,INNODB支持事务);外键 MyISAM 不支持外键, INNODB支持外…...
智慧工地AI视频分析系统 opencv
智慧工地AI视频分析系统通过pythonopencv网络模型图像识别技术,智慧工地AI视频分析算法自动识别现场人员穿戴是否合规。本算法模型中用到opencv技术,OpenCV基于C实现,同时提供python, Ruby, Matlab等语言的接口。OpenCV-Python是OpenCV的Pyth…...
小红书「高效达人筛选攻略」
三八女神节降临,诸多品牌纷纷开启铺垫预热,在各大平台借势宣传。而聚集庞大年轻女性消费群体的小红书,对“她营销”的重要性不言而喻。节点序幕拉开,面对海量达人信息,如何提前积草屯粮、高效备战? 本期千瓜…...
大话数据结构-线性表
1 定义 线性表是零个或多个数据元素的有限序列。 2 抽象数据类型 ADT 线性表(List)Data:线性表的数据对象集合为{al,a2,a3,....an},每个元素的类型均为DataType。其中,除第一个元素a1外,每一个元素有且只有一个直接前驱元素&…...
分布式缓存 Memcached Linux 系统安装
1.Memcached简介 Memcached是一个开源、高性能,将数据分布于内存中并使用key-value存储结构的缓存系统。它通过在内存中缓存数据来减少向数据库的频繁访问连接的次数,可以提高动态、数据库驱动之类网站的运行速度。 Memcached在使用是比较简单的&#…...
【数据结构】链表:看我如何顺藤摸瓜
👑专栏内容:数据结构⛪个人主页:子夜的星的主页💕座右铭:日拱一卒,功不唐捐 文章目录一、前言二、链表1、定义2、单链表Ⅰ、新建一个节点Ⅱ、内存泄漏Ⅲ、插入一个节点Ⅳ、销毁所有节点Ⅴ、反转一个链表3、…...
linux shell 入门学习笔记18 函数开发
概念 函数就是将你需要执行的shell命令组合起来,组成一个函数体。一个完整的函数包括函数头和函数体,其中函数名就是函数的名字。 优点 将相同的程序,定义,封装为一个函数,能减少程序的代码数量,提高开发…...
如何最巧妙回答HR面试“送命题”:你为什么离开上家公司?
一 HR面试存在“送命题”? 一个资深HR朋友聊到,他最近pass掉一个名校高材生。 其实洽谈过程还比较愉悦,小姑娘名校毕业,落落大方,薪酬要求比较合理,各方面都比较符合,最后就在决定要录用时,HR朋友随口问了句 “你为什么离开上家公司?”,小姑娘也是随口说了句“我不喜…...
注意力机制详解系列(五):分支与时间注意力机制
👨💻作者简介: 大数据专业硕士在读,CSDN人工智能领域博客专家,阿里云专家博主,专注大数据与人工智能知识分享,公众号:GoAI的学习小屋,免费分享书籍、简历、导图等资料&…...
创宇盾重保经验分享,看政府、央企如何防护?
三月重保已经迫近,留给我们的准备时间越来越少,综合近两年三月重保经验及数据总结,知道创宇用实际案例的防护效果说话,深入解析为何创宇盾可以在历次重保中保持“零事故”成绩,受到众多部委、政府、央企/国企客户的青睐…...
软件测试面试汇总
在浏览器中输入 URL,回车后发生了什么? 在浏览器中输入URL并按下回车键后,大致流程如下: 1、浏览器解析 URL,提取出协议(例如HTTP、HTTPS)、主机名和路径等信息。 2、浏览器查找该URL的缓存记录࿰…...
空指针,野指针
空指针在C/C中,空指针(null pointer)是指向内存地址0的指针变量。NULL在C/C中的定义为:#ifndef NULL#ifdef __cplusplus#define NULL 0#else#define NULL ((void *)0)#endif #endif从上面的代码定义中,我们可以发现在C…...
Mysql Nested-Loop Join算法和MRR
MySQL8之前仅支持一种join 算法—— nested loop,在 MySQL8 中推出了一种新的算法 hash join,比 nested loop 更加高效。(后面有时间介绍这种join算法) 1、mysql驱动表与被驱动表及join优化 先了解在join连接时哪个表是驱动表&a…...
Spark 广播/累加
Spark 广播/累加广播变量普通变量广播分布式数据集广播克制 Shuffle强制广播配置项Join Hintsbroadcast累加器Spark 提供了两类共享变量:广播变量(Broadcast variables)/累加器(Accumulators) 广播变量 创建广播变量…...
飞天云动,站在下一个商业时代的门口
ChatGPT的爆火让AIGC再度成为热词,随之而来的是对其商业化的畅想——不是ChatGPT自身如何盈利,而是它乃至整个AIGC能给现在的商业环境带来多大改变。 这不由得令人想起另一个同样旨在改变世界的概念,元宇宙。不同的是,元宇宙更侧…...
上海分时电价机制调整对储能项目的影响分析
安科瑞 耿敏花 2022年12月16日,上海市发改委发布《关于进一步完善我市分时电价机制有关事项的通知》(沪发改价管〔2022〕50号)。通知明确上海分时电价机制,一般工商业及其他两部制、大工业两部制用电夏季(7、8、9月)和冬季&#x…...
产品新人如何快速上手工作
三百六十行,行行出产品经理:上至封神的乔布斯,下至卖鸡蛋罐饼的阿姨,他们对如何打造自己的产品都会有一套完整的产品思路,这也是为什么说“人人都是产品经理”。这个看似光鲜的“经理”有时也会被戏称产品汪࿰…...
Linux: ARM GIC仅中断CPU 0问题分析
文章目录1. 前言2. 分析背景3. 问题4. 分析4.1 ARM GIC 中断芯片简介4.1.1 中断类型和分布4.1.2 拓扑结构4.2 问题根因4.2.1 设置GIC SPI中断的CPU亲和性4.2.2 GIC初始化:缺省的CPU亲和性4.2.2.1 boot CPU亲和性初始化流程4.2.2.1 其它非 boot CPU亲和性初始化流程5…...
第20篇:Java运算符全面总结(系列二)
目录 4、逻辑运算符 4.1 逻辑运算符 4.2 代码示例 5、赋值运算符 5.1 赋值运算符...
OpenCV4.x图像处理实例-OpenCV两小时快速入门(基于Python)
OpenCV两小时快速入门(基于Python) 文章目录 OpenCV两小时快速入门(基于Python)1、OpenCV环境安装2、图像读取与显示3、图像像素访问、操作与ROI4、图像缩放5、几何变换5.1 平移5.2 旋转6、基本绘图6.1 绘制直线6.2 绘制圆6.3 绘制矩形6.4 绘制文本7、剪裁图像8、图像平滑与…...
如何用RSPrompter提升遥感图像分割效果?基于SAM的实战技巧分享
如何用RSPrompter提升遥感图像分割效果?基于SAM的实战技巧分享 遥感图像分割一直是计算机视觉领域的难点之一。传统方法往往需要大量标注数据,而标注成本高昂,尤其是对于高分辨率遥感影像。2023年Meta发布的Segment Anything Model(SAM)展现了…...
计算机毕业设计springboot英语学习网站 基于SpringBoot的在线英语教育平台设计与实现 SpringBoot框架下的智能化英语辅助学习系统开发
计算机毕业设计springboot英语学习网站3i8387gp (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。全球化时代对英语能力的需求日益增长,信息技术在教育领域的广泛应用推…...
RabbitMQ 3.13.2安装踩坑实录:如何绕过rabbitmq-service.bat install code 1错误
RabbitMQ 3.13.2安装实战:深度解析服务注册失败与系统级解决方案 当你在Windows系统上部署RabbitMQ 3.13.2时,那个刺眼的rabbitmq-service.bat install exited with code 1错误就像一堵突然出现的墙。这不仅仅是简单的安装失败,而是系统权限、…...
终极指南:如何在Chainer中构建强大的循环神经网络(RNN)
终极指南:如何在Chainer中构建强大的循环神经网络(RNN) 【免费下载链接】chainer A flexible framework of neural networks for deep learning 项目地址: https://gitcode.com/gh_mirrors/ch/chainer 想要掌握深度学习中的序列建模吗?Chainer框架…...
从零开始:CosyVoice 2 声码器入门指南与实战解析
在语音合成的世界里,声码器扮演着“声音雕刻师”的角色。简单来说,它负责将一串抽象的特征(比如梅尔频谱)转换为我们耳朵能听到的、连续的真实音频波形。没有它,再好的文本转语音模型也只能输出“哑巴”数据。然而&…...
基于深度学习的桥梁健康状态监测与预警系统设计与实现
基于深度学习的桥梁健康状态监测与预警系统设计与实现 1. 系统总体架构 本系统采用 B/S 架构,由数据采集层、数据处理层、深度学习模型层、Web后端层及前端可视化层组成。 后端框架:Django (负责ORM、API、用户认证) 深度学习:TensorFlow 2.x / Keras (构建LSTM-Autoencod…...
隐私优先方案:OpenClaw本地化部署Qwen3.5-9B处理敏感财报分析
隐私优先方案:OpenClaw本地化部署Qwen3.5-9B处理敏感财报分析 1. 为什么金融从业者需要本地化AI方案 作为一名长期关注金融科技自动化的从业者,我深刻理解处理财报数据时的隐私焦虑。去年尝试使用某云端AI服务分析客户财报时,系统突然弹出&…...
零基础玩转OpenClaw:星图GPU百川2-13B量化镜像体验报告
零基础玩转OpenClaw:星图GPU百川2-13B量化镜像体验报告 1. 为什么选择星图平台的OpenClaw镜像 作为一个长期关注AI工具但苦于本地配置复杂度的普通用户,当我发现星图平台提供预装OpenClaw和百川2-13B量化模型的"开箱即用"镜像时,…...
零代码自动化:OpenClaw+GLM-4.7-Flash实现跨平台数据同步
零代码自动化:OpenClawGLM-4.7-Flash实现跨平台数据同步 1. 为什么选择OpenClaw处理跨平台数据同步? 去年我接手了一个棘手的任务:每周需要从某电商平台导出销售数据,清洗后上传到内部数据库。手动操作不仅耗时2-3小时ÿ…...
OpenClaw安全风险全解析:从架构漏洞到应对实践
OpenClaw安全风险全解析:从架构漏洞到应对实践 2026年初,一款名为OpenClaw(俗称“龙虾”)的开源AI智能体风靡全球,上线数月即斩获超20万GitHub星标,成为史上增长最快的开源项目之一。然而,随着大量用户将这一“可真正执行任务的AI”部署于个人电脑和生产环境,一系列触目…...
