当前位置: 首页 > news >正文

Mysql InnoDB 存储引擎简介

InnoDB 存储引擎是 Mysql 的默认存储引擎,它是由 Innobase Oy 公司开发的

Mysql 为什么默认使用 InnoDB 存储引擎

InnoDB 是一款兼顾高可靠性和高性能的通用存储引擎

在 Mysql 5.5 版本之前,默认是使用 MyISAM 存储引擎,在 5.5 及其之后版本,都默认使用 InnoDB 存储引擎;

可通过 show engines 命令查看当前服务支持的存储引擎

 各个存储引擎支持的特性

由上图可以看出 InnoDB 存储引擎 相比于 MyISAM 存储引擎

支持事务(也是众多存储引擎中唯一支持的),使用行级锁(高并发性),支持崩溃时自动恢复,支持外键约束,支持全文索引,支持自适应哈希索引(针对反复查询的行),使用缓冲池(用于缓存数据页和索引,提高数据的访问速度)

所以基于上述 InnoDB 的优势,可以得出

  • 事务支持和数据完整性:InnoDB 支持事务和外键约束,能够保证数据的完整性和一致性,适用于复杂的应用场景。而 MyISAM 不支持事务,存在数据丢失的风险。

  • 高并发性能:InnoDB 采用行级锁,相较于 MyISAM 的表级锁,能够在高并发环境下表现更好,提高读写性能,减少锁冲突。

  • 崩溃恢复能力:InnoDB 提供了更可靠的崩溃恢复机制,能在系统宕机或故障后自动恢复数据,保证系统的可用性和数据安全性。

因此在 Mysql 5.5 及其以后,使用了 InnoDB 存储引擎;

InnoDB 存储引擎架构

官方给出的架构图

由上图可以看出,InnoDB 主要包括内存结构和磁盘结构 

其中内存结构包括:缓冲池(Buffer pool),变更缓冲区(Change Buffer),日志缓冲区(Log Buffer),自适应哈希(Adaptive Hash Index)

磁盘结构包括:系统表空间,独立表空间,通用表空间,临时表空间,撤销表空间,撤销日志,双写缓冲区

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 速盾:高防服务器租用需要注意什么事项
  • Mac 上,终端如何开启 proxy
  • vulnhub-prime1
  • YARN性能优化高频面试题及答案
  • 大表数据如何在OceanBase中进行表分区管理的实践
  • Shiro-550—漏洞分析(CVE-2016-4437)
  • 【笔记】第二节 轧制、热处理和焊接工艺
  • 同一时刻最多有多少会议进行
  • EP25 调试接口渲染分类页面
  • Android 内核开发之—— repo 使用教程
  • 电线覆盖物检测数据集 气球风筝鸟巢 1300张 voc yol
  • 【Windows】快速帮你解决如何找到 Windows 上的 .condarc 文件
  • set的相关函数(3)
  • 关于加强银行业保险业移动互联网应用程序管理的通知
  • python爬虫初体验(一)
  • ES6指北【2】—— 箭头函数
  • $translatePartialLoader加载失败及解决方式
  • 《Java编程思想》读书笔记-对象导论
  • 【技术性】Search知识
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • django开发-定时任务的使用
  • ES6 学习笔记(一)let,const和解构赋值
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • js 实现textarea输入字数提示
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • laravel 用artisan创建自己的模板
  • October CMS - 快速入门 9 Images And Galleries
  • php ci框架整合银盛支付
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 区块链分支循环
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 微信公众号开发小记——5.python微信红包
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 《天龙八部3D》Unity技术方案揭秘
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 组复制官方翻译九、Group Replication Technical Details
  • ​​​【收录 Hello 算法】9.4 小结
  • ### RabbitMQ五种工作模式:
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (Java入门)抽象类,接口,内部类
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (回溯) LeetCode 77. 组合
  • (数据结构)顺序表的定义
  • (五)c52学习之旅-静态数码管
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • ****三次握手和四次挥手
  • .cn根服务器被攻击之后
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .NET文档生成工具ADB使用图文教程
  • .NET中分布式服务