MySQL技术内幕:InnoDB存储引擎
InnoDB存储引擎概述
InnoDB是事务安全的MySQL存储引擎,是OLTP应用的首选的存储引擎,一个新的OLTP项目需要快速的进行数据处理和快速对数据处理的结果进行返回,在这样的应用中我们往往需要保证操作的完成性,InnoDB引擎是很好的选择。
InnoDB体系架构
下图为InnoDb的体系架构,InnoDB存储引擎有多个内存块,这些内存块组成了一个容量不小的内存池,该内存池的作用如下:
1、维护所有进程、线程需要访问的内部数据结构。
2、缓存磁盘上的数据方便快速读取,在对磁盘数据修改之前在这里进行缓存。
3、重做日志缓冲。
后台线程的主要作用有三个:
1、刷新内存池中的数据,保证缓冲池中的内存的是最近的数据。
2、将已修改缓存中的数据内容刷新到磁盘文件。
3、保证在数据库发生异常的情况下InnoDB可以恢复到正常的运行状态。
后台进程
InnoDB存储引擎是多线程模型,后台中有多个不同的后台线程,处理不同的任务
Master Thread
主线程是一个非常核心的后台线程,主要负责:
1、将缓冲池的数据异步刷新到磁盘,保证数据的一致性
2、脏页的刷新
3、合并插入缓冲
4、UNDO页的回收
IO Thread
什么是AIO(Async IO)?
MySQL技术内幕:InnoDB存储引擎相关推荐
- Mysql技术内幕InnoDB存储引擎——InnoDB存储引擎
特此申明: 前段时间找工作所以看了<Mysql技术内幕InnoDB存储引擎>,整理的时候除了参考网上已有的笔记贴,加上自己整合的,可能和别人有雷同之处.不过无所谓啦,写出来自己看看,需要的 ...
- MySQL技术内幕-InnoDB存储引擎第2版-学习笔记-01
MySQL技术内幕-InnoDB存储引擎第2版-学习笔记-01 1. MySQL体系结构和存储引擎 1.1 定义数据库和实例 数据库database: 物理操作系统文件或其他形式文件类型的集合. 当使 ...
- MySQL技术内幕-InnoDB存储引擎第2版-学习笔记-02
MySQL技术内幕-InnoDB存储引擎第2版-学习笔记-02 6. 锁 人们认为行级锁总会增加开销.实际上,只有当实现本身会增加开销时,行级锁才会增加开销.InnoDB 存储引擎不需要锁升级,因 ...
- MySQL技术内幕 InnoDB存储引擎:锁问题(脏读、不可重复读)
1.脏读 在理解脏读(Dirty Read)之前,需要理解脏数据的概念.但是脏数据和之前所介绍的脏页完全是两种不同的概念.脏页指的是在缓冲池中已经被修改的页,但是还没有刷新到磁盘中,即数据库实例内存中 ...
- Mysql技术内幕——InnoDB存储引擎
一.mysql体系结构和存储引擎 1.1.数据库和实例的区别 数据库:物理操作系统或其他形式文件类型的集合.在mysql下数据库文件可以是frm,myd,myi,ibd结尾的文件. 数据库实例:由数据 ...
- mysql技术内幕innodb存储引擎——表索引算法和锁_(转)Mysql技术内幕InnoDB存储引擎-表索引算法和锁...
表 原文:http://yingminxing.com/mysql%E6%8A%80%E6%9C%AF%E5%86%85%E5%B9%95innodb%E5%AD%98%E5%82%A8%E5%BC% ...
- MySQL技术内幕InnoDB存储引擎(表索引算法和锁)
表 4.1.innodb存储引擎表类型 innodb表类似oracle的IOT表(索引聚集表-indexorganized table),在innodb表中每张表都会有一个主键,如果在创建表时没有显示 ...
- MySQL技术内幕 InnoDB存储引擎——第2章 InnoDB存储引擎(未完待续)
第2章 InnoDB存储引擎 2.1 InnoDB存储引擎概述 InnoDB存储引擎是第一个完整支持ACID事务的MySQL存储引擎(BDB是第一个支持事务的MySQL存储引擎,现在已经停止开发). ...
- mysql技术innodb存储引擎读后感_《Mysql技术内幕-InnoDB存储引擎》读书笔记 (一)...
@(Mysql) 官方数据库 下载 导入/data/mysql57/bin/mysql --socket /data/mysql3306/mysql.socket -uroot -ppassword1 ...
- MySQL技术内幕-InnoDB存储引擎:第一章阅读
目录 MySql体系结构和存储引擎 1.1 数据库与数据库实例 1.2 MySQL体系结构 1.3 MySQL表存储引擎 1.3.1 InnoDB存储引擎 1.3.2 MyISAM存储引擎 1.3.3 ...
最新文章
- Qlik收购Idevio,为客户带来先进的地理信息分析功能
- python 时间-秒_Python-代码等待10秒不直观,教你用进度条显示时间进度
- NOIP 2011 Day2
- 枚举项的数量限制在64个以内
- python3安装setuptools步骤_python在Windows下安装setuptools(easy_install工具)步骤详解
- 这几种方法帮你快速实现回到页面顶部
- 主动学习、纯半监督学习、直推学习的联系与区别
- 使用python爬取号码归属地列表,制作握手包破解字典
- 学习phyton的基础知识
- java异常处理(Exception handing)机制
- 亚马逊、速卖通、沃尔玛、阿里国际、煤炉、wish、eBay、Lazada、Shopee测评自养号,listing流量不高,导致转化率低该怎么办?
- H5性能测试入门及优化建议
- 原型、交互及界面设计阶段的评审会
- Photoshop插件-保存-8位通道-16位通道-脚本开发-PS插件
- C++ for循环效率优化
- RT5350订制WIFI转串口
- 设备配网专题《原理分析,设备配网技术之AirKiss微信配网》
- 测试开发工程师成长日记018 - 测试面试必备题记录(持续更新)
- echarts 日历图calender
- No gradients provided for any variable, check your graph for ops that do not support gradients