后台清理工作:脏页刷盘、undo回收 1、page cleaner thread:刷新脏页 2、purge thread:清空undo页、清理“deleted”page 一、innodb_page_cleaners page cleaner线程从buffer pool中刷脏页的线程数量。 1、5.7新特性 1、5.6版本以前,脏页的清理工作交由master线程的; 2、Page cleaner thread是5.6.2引入的一个新线程(单线程),从master线程中卸下buffer pool刷脏页的工作独立出来的线程(默认是启一个线程); 3、5.7开始支持多线程刷脏页…
一、关于IOT:索引组织表 表在存储的时候按照主键排序进行存储,同时在主键上建立一棵树,这样就形成了一个索引组织表,一个表的存储方式以索引的方式来组织存储的。 所以,MySQL表一定要加上主键,通过主键来访问MySQL表的性能是最好: 1、显式定义主键:primary key 2、隐式定义主键:如果没有指定主键,MySQL自己会默认建立一个主键(rowid隐藏主键) 1、特点 1、表按照主键排好序,数据按照主键顺序存放(核心原因) 2、主键上有一棵树,叶子节点就是数据节点 3、表本身就是索引,表就是索引、索引就是表 4、IOT对于通过主键找表数据的成本最…
# 脏页刷盘的风险 两次写的原理机制 1、解决问题 2、使用场景 3、doublewrite的工作流程 4、崩溃恢复 # doublewrite的副作用 1、监控doublewrite负载 2、关闭doublewrite场景 一、脏页刷盘风险 关于IO的最小单位: 1、数据库IO的最小单位是16K(MySQL默认,oracle是8K) 2、文件系统IO的最小单位是4K(也有1K的) 3、磁盘IO的最小单位是512字节 因此,存在IO写入导致page损坏的风险: 二、doublewrite:两次写 提高innodb的可靠性,用来解决部分写失败(par...