本节内容主要关于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关键特性

  1. 插入缓冲         提高插入操作性能
  2. 两次写·           可靠性

  1. 自适应哈希索引      监控各索引页的查询
  2. 异步IO            提高磁盘操作性能
  3. 刷新邻接页      检测脏页所在区的所有页

命令行中建表操作

建表:

插入数据:

修改和删除:

MySQL和InnoDB体系结构,内存数据对象,基本建表操作相关推荐

  1. ADO内存数据对象SqlDataAdapter类使用SqlDataAdapter在数据库和DataSet之间架起桥梁:

    ADO内存数据对象SqlDataAdapter类使用SqlDataAdapter在数据库和DataSet之间架起桥梁: void UseDataAdapter() { //1 连接数据库 //2 创建 ...

  2. Mysql创建数据库表,查看表结构,查看表中数据,查看建表语句

    Mysql创建数据库表,查看表结构,查看表中数据,查看建表语句 1.创建数据库表 create table t_student( 表属性以,隔开 最后一行不用,): 2.查看表结构 desc t_st ...

  3. js中请求URL获得json数据,将数据解析并建表插入

    //打开数据库 var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024); //html请求数据 function testXm ...

  4. 商城管理系统的数据表从属关系+navicat建表操作+数据库文件转储并入代码操作

    1,商城管理系统的数据表从属关系 在商城管理系统中,我们会面临属性分组的问题,商品表与分类表需要建立链接: 在控制类中我们将分类表中属性类传过来,与商品值params建立链接 public R lis ...

  5. MySQL(二)InnoDB的内存结构和特性

    目录 In-Memory Structures 缓冲池 Buffer Pool 更新缓冲Change Buffer Adaptive Hash Index (redo)Log Buffer 总结 磁盘 ...

  6. MySQL 数据库 InnoDB 和 MyISAM 数据引擎的差别

    InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是 ...

  7. 使用mysql,建数据库建表操作

    在windows启动mysql 将mysql安装好之后,记得配置好环境. 打开cmd,输入命令:mysql -u root -p,输入密码,回车出现下面界面即可: 到了此时即可进行下面建数据库,访问到 ...

  8. 史上最简单的 MySQL 教程(五)「SQL 基本操作 之 表操作」

    温馨提示:本系列博文已经同步到 GitHub,地址为「mysql-tutorial」,欢迎感兴趣的童鞋Star.Fork,纠错. SQL 基本操作 基本操作:CURD,即增删改查. 根据操作对象的不同 ...

  9. 三、mysql 存储引擎-建库建表操作

    目录 知识点1:mysql里面的数据库和表都以文件形式存储在linux系统里面 我们在mysql里面创建数据库和表以后,也会生成对应的目录和文件 知识点2: 存储引擎是什么? innodb 是MYSQ ...

最新文章

  1. 学好Linux必备知识
  2. CF里面的资源载入问题
  3. linux 再多的running也挡不住锁
  4. 牛客小白月赛16 小石的签到题(博弈)
  5. java循环语句_java中循环语句
  6. 【渝粤教育】广东开放大学 机械制造基础 形成性考核 (55)
  7. C语言中的位域的使用
  8. 不想用鸿蒙系统怎么办,华为鸿蒙系统出大BUG!网友:这再也不是用户想要的鸿蒙系统...
  9. 批量取出PHP BOM头
  10. (53)FPGA条件选择(casez)
  11. “打”遍全球!支付宝重磅新功能上线...
  12. 【kafka】kafka单节点测试
  13. Golang 返回errorString,而不是errorString的原因
  14. 【ArcGIS|空间分析】3D可视性分析(全国大学生GIS技能大赛试题)
  15. 全球抵押销售点(POS)软件行业调研及趋势分析报告
  16. java操作SFTP工具类
  17. Android 离线文字转语音功能-TTS(Text To Speech)
  18. 三个月追求金牛全过程(图
  19. ashampoo(阿香婆) movie studio视频剪辑笔记
  20. Unity 计算模型的中心点的方法

热门文章

  1. ASP.NET Google Maps Javascript API V3 实战基础篇一检测用户位置
  2. FFMpeg写MP4文件例子分析
  3. java栈空异常_Java如何处理空堆栈异常?
  4. java字符串怎么拼接字符串_Java中String使用+ 拼接字符串的原理是什么?
  5. 蓝桥杯 ADV-189 算法提高 连接乘积
  6. [Python] L1-028. 判断素数-PAT团体程序设计天梯赛GPLT
  7. 【操作系统】线程的实现-思维导图
  8. spring boot mybatis 整合_两大热门框架 Spring 与 Mybatis 如何整合呢?
  9. Node编写API接口,ajax实现增删改查
  10. 使用Samba构建工程