chpater 2 : InnoDB存储引擎
chpater 2 : InnoDB存储引擎
线程
后台线程的主要作用是负责刷新内存池中的数据,保证缓冲池中的内存缓存的是最近的数据,此外将已修改的数据文件刷新到磁盘文件。默认情况下,InnoDB存储引擎的后台线程有7个:4个IO线程、1个主线程、一个锁线程、一个错误监控线程。IO线程的数量由配置文件里的innodb_file_io_threads参数控制,默认为4.
内存
- 缓冲池(buffer pool)
- 重做日志缓冲池(redo log buffer)
- 额外的内存池(additional memory pool)
InnoDB的工作方式总是将数据库文件按页(每页16K读取到缓冲池,然后按照最近最少使用(LRU)的算法来保留在缓冲池中的缓存数据。如果数据库文件需要修改,总是首先修改咋缓存吃中的野(发生修改后,该页为脏页),然后按照一定的频率将缓冲池的脏页刷新到文件。
关键特性
插入缓冲
聚集索引是指数据库表行中数据的物理顺序与键值的逻辑(索引)顺序相同。一个表只能有一个聚集索引,因为一个表的物理顺序只有一种情况,所以,对应的聚集索引只能有一个。如果某索引不是聚集索引,则表中的行物理顺序与索引顺序不匹配,与非聚集索引相同,聚集索引有着更快的检索速度。
两次写
自适应哈希索引
InnoDB存储引擎会监控对表上索引的查找,如果观察到建立哈希索引可以带来速度的提升,则建立哈希索引,所以称之为自适应(adaptvie)的。自适应哈希索引通过缓冲池的B+树构造而来。
chpater 2 : InnoDB存储引擎相关推荐
- Mysql技术内幕——InnoDB存储引擎
一.mysql体系结构和存储引擎 1.1.数据库和实例的区别 数据库:物理操作系统或其他形式文件类型的集合.在mysql下数据库文件可以是frm,myd,myi,ibd结尾的文件. 数据库实例:由数据 ...
- InnoDB 存储引擎中的表锁和行锁详解
各位对 "锁" 这个概念应该都不是很陌生吧,Java 语言中就提供了两种锁:内置的 synchronized 锁和 Lock 接口,使用锁的目的就是管理对共享资源的并发访问,保证数 ...
- linux mysql innodb_MySQL innoDB 存储引擎学习篇
master thread的县城优先级别最高.其内部由几个循环(loop)组成:主循环(loop).后台循环(background loop).刷新循环(flush loop).暂停循环(suspen ...
- 《MySQL技术内幕:InnoDB存储引擎第2版》——3.1 参数文件
3.1 参数文件 在第1章中已经介绍过了,当MySQL实例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等.在默认 ...
- mysql1033错误存储引擎_【Mysql问题集锦(1)】mysql不能使用innodb存储引擎
案例: 一台服务器,操作系统centos,使用 yum 安装mysql ,之前innodb存储引擎一直是可以用的,某天之后,突然不能用了,使用innodb存储引擎的数据库导入后存储引擎全部变成了myi ...
- mysql 5.7 存储引擎_mysql5.7——innodb存储引擎总结
一.innodb初探: 1.MySQL日志文件: ①:slow.log 文件会记录慢查询日志,当一条语句执行时间超过在配置参数long_query_time中指定的值时,这条语句就会被记录在这个文件中 ...
- 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% ...
- InnoDB 存储引擎体系架构
首先以一张图简单展示 InnoDB 的存储引擎的体系架构.从图中可见, InnoDB 存储引擎有多个内存块,这些内存块组成了一个大的内存池,主要负责如下工作: 维护所有进程/线程需要访问的多个内部数据 ...
- 11、InnoDB存储引擎
InnoDB 是 MySQL 中第一个提供外键约束的存储引擎,而且它对事务的处理能力是其它存储引擎无法与之相比的. MySQL 5.5 版本以后,默认存储引擎由 MyISAM 修改为 InnoDB.I ...
- mysql+如何开发存储引擎_干货!MySQL 的 InnoDB 存储引擎是怎么设计的?
MySQL 里还有什么其他成员呢? 对于 MySQL,要记住.或者要放在你随时可以找到的地方的两张图,一张是 MySQL 架构图,另一张则是 InnoDB 架构图: 遇到问题,或者学习到新知识点时,就 ...
最新文章
- cf两边黑屏怎么解决win10_Win10电脑开机黑屏只有鼠标指针无法进入桌面的解决方法...
- SourceTree的安装
- 2019-03-19-算法-进化(报数)
- 目录操作相关的系统函数
- 新浪微博被罚了,暂停更新微博热搜榜一周
- 推荐的Java项目_求点Java项目推荐?
- YOLO3实现对自身数据集的训练-YOLO3代码学习资料
- Linux系统调用接口添加简单示例
- C++后台开发技术栈
- 计算机软件工程课程设计感想,软件课程设计心得体会.docx
- 我的八年博士生涯——CMU王赟写在入职Facebook之前
- 区分苹果开发者的网址(开发者网址和管理您的appid网址)及证书信息
- 【转】为什么SPSS的日期要以1582年10月14日为基准
- 仿微博、微信、qq 点击缩略图, 查看高清图 UI 组件
- Linux查看历史命令 history
- PLSQL 常用语句
- 比迅雷还要快的视频下载利器You-Get
- Python-Windows定时关机与虚拟WIFI
- uniapp view或者text文本过长不能换行解决方案
- [转]比尔·盖茨在哈佛大学毕业典礼上的演讲
热门文章
- java web 学习计划
- 突然决定要记笔记,于是就来到了博客园,希望自己能够坚持下去
- 借助mapshaper的简化来修复geojson的拓扑错误
- CHIL-SQL-LEFT JOIN 关键字
- 【Ajax】后台验证用户输入的验证码是否与随机生成的验证码一直
- struts2 传递json对象时的延迟加载异常处理方法
- ABC + DEF = GHI //递归思想的充分体现(重难点)
- python类封装成dl_第7.9节 案例详解:Python类封装
- Sum nyoj 欧拉定理简单运用(数论入门)
- jlabel 不能连续两次set_关于JLabel的setText在监听器中不刷新有关问题(2)