MySQL和InnoDB体系结构,内存数据对象,基本建表操作
本节内容主要关于mysql体系结构和InnoDB存储引擎的体系架构(包括后台线程和内存结构)。InnoDB关键特性。checkpoint机制,以及刷脏磁盘的不同时机和方式。最后是在mysql客户端通过命令行建表,进行简单的增删查改操作。
Mysql体系结构
Mysql体系结构由:连接池组件,管理服务和工具组件,sql接口组件,查询分析器组件,优化器组件,缓冲组件,插件式存储引擎,物理文件组成。
InnoDB存储引擎体系架构
InnoDB是多线程模型,多个不同的后台线程负责处理不同任务。主要了解到这四类:
Master Thread,主要负责将缓冲池中的数据异步刷新到磁盘,保证数据的一致性。
IO Thread,主要负责IO请求的回调处理。
Purge Thread,用来回收已经使用并分配的undo页。
Page Cleaner Thread,将脏页的刷新操作放入到此单独线程中完成,减轻原Master Thread的工作以及对于用户查询线程的阻塞。
观察后台IO线程:mysql>show engine innodbstatus\G
可以看到一共十个线程,其中四个读线程,四个写线程,一个insert buffer thread和一个log thread。
查看purge线程:
InnoDB内存数据对象
InnoDB基于磁盘存储,其中的记录按照页的方式进行管理。
缓冲池内存速度弥补磁盘速度较慢对数据库操作的影响。
Checkpoint机制刷脏。当数据库宕机,数据库不需要重做所有日志,因为checkpoint之前的页都已经刷新回磁盘,数据库只需要对checkpoint后的重做日志进行恢复。
InnoDB关键特性
- 插入缓冲 提高插入操作性能
- 两次写· 可靠性
- 自适应哈希索引 监控各索引页的查询
- 异步IO 提高磁盘操作性能
- 刷新邻接页 检测脏页所在区的所有页
命令行中建表操作
建表:
插入数据:
修改和删除:
MySQL和InnoDB体系结构,内存数据对象,基本建表操作相关推荐
- ADO内存数据对象SqlDataAdapter类使用SqlDataAdapter在数据库和DataSet之间架起桥梁:
ADO内存数据对象SqlDataAdapter类使用SqlDataAdapter在数据库和DataSet之间架起桥梁: void UseDataAdapter() { //1 连接数据库 //2 创建 ...
- Mysql创建数据库表,查看表结构,查看表中数据,查看建表语句
Mysql创建数据库表,查看表结构,查看表中数据,查看建表语句 1.创建数据库表 create table t_student( 表属性以,隔开 最后一行不用,): 2.查看表结构 desc t_st ...
- js中请求URL获得json数据,将数据解析并建表插入
//打开数据库 var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024); //html请求数据 function testXm ...
- 商城管理系统的数据表从属关系+navicat建表操作+数据库文件转储并入代码操作
1,商城管理系统的数据表从属关系 在商城管理系统中,我们会面临属性分组的问题,商品表与分类表需要建立链接: 在控制类中我们将分类表中属性类传过来,与商品值params建立链接 public R lis ...
- MySQL(二)InnoDB的内存结构和特性
目录 In-Memory Structures 缓冲池 Buffer Pool 更新缓冲Change Buffer Adaptive Hash Index (redo)Log Buffer 总结 磁盘 ...
- MySQL 数据库 InnoDB 和 MyISAM 数据引擎的差别
InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是 ...
- 使用mysql,建数据库建表操作
在windows启动mysql 将mysql安装好之后,记得配置好环境. 打开cmd,输入命令:mysql -u root -p,输入密码,回车出现下面界面即可: 到了此时即可进行下面建数据库,访问到 ...
- 史上最简单的 MySQL 教程(五)「SQL 基本操作 之 表操作」
温馨提示:本系列博文已经同步到 GitHub,地址为「mysql-tutorial」,欢迎感兴趣的童鞋Star.Fork,纠错. SQL 基本操作 基本操作:CURD,即增删改查. 根据操作对象的不同 ...
- 三、mysql 存储引擎-建库建表操作
目录 知识点1:mysql里面的数据库和表都以文件形式存储在linux系统里面 我们在mysql里面创建数据库和表以后,也会生成对应的目录和文件 知识点2: 存储引擎是什么? innodb 是MYSQ ...
最新文章
- 学好Linux必备知识
- CF里面的资源载入问题
- linux 再多的running也挡不住锁
- 牛客小白月赛16 小石的签到题(博弈)
- java循环语句_java中循环语句
- 【渝粤教育】广东开放大学 机械制造基础 形成性考核 (55)
- C语言中的位域的使用
- 不想用鸿蒙系统怎么办,华为鸿蒙系统出大BUG!网友:这再也不是用户想要的鸿蒙系统...
- 批量取出PHP BOM头
- (53)FPGA条件选择(casez)
- “打”遍全球!支付宝重磅新功能上线...
- 【kafka】kafka单节点测试
- Golang 返回errorString,而不是errorString的原因
- 【ArcGIS|空间分析】3D可视性分析(全国大学生GIS技能大赛试题)
- 全球抵押销售点(POS)软件行业调研及趋势分析报告
- java操作SFTP工具类
- Android 离线文字转语音功能-TTS(Text To Speech)
- 三个月追求金牛全过程(图
- ashampoo(阿香婆) movie studio视频剪辑笔记
- Unity 计算模型的中心点的方法
热门文章
- ASP.NET Google Maps Javascript API V3 实战基础篇一检测用户位置
- FFMpeg写MP4文件例子分析
- java栈空异常_Java如何处理空堆栈异常?
- java字符串怎么拼接字符串_Java中String使用+ 拼接字符串的原理是什么?
- 蓝桥杯 ADV-189 算法提高 连接乘积
- [Python] L1-028. 判断素数-PAT团体程序设计天梯赛GPLT
- 【操作系统】线程的实现-思维导图
- spring boot mybatis 整合_两大热门框架 Spring 与 Mybatis 如何整合呢?
- Node编写API接口,ajax实现增删改查
- 使用Samba构建工程