一条sql执行的过程: 连接器 >分析器 >优化器 >执行器 >存储引擎 #如下图 不建议使用查询缓存的原因: 如果表有数据更新的话,这张表的缓存都会被清空 redo log日志(重做日志): 特性: innodb的引擎层日志,redo log日志大小时固定的(可通过参数设置),可配置日志个数,可重 ...
分类:
数据库 时间:
2020-07-04 13:30:24
阅读次数:
76
一.逻辑Standby的准备工作 1 确认操作的对象和语句是否能被逻辑Standby支持 由于逻辑Standby是通过SQL应用来保持与Primary数据库的同步。SQL应用与REDO应用是有很大的区别,REDO应用实际上是在物理Standby端进行RECOVER;SQL应用则是分析重做日志文件中的 ...
分类:
数据库 时间:
2020-06-27 11:42:03
阅读次数:
297
与查询流程不一样的是,更新流程还涉及两个重要的日志模块:redo log(重做日志)和binlog(归档日志) redo log记账例子:酒店掌柜有一个粉板,专门用来记录客人的赊账记录。如果赊账的人不多,那么他可以把顾客名和账目写在板上。但如果赊账的人多了,粉板总会有记不下的时候,这个时候掌柜一定还 ...
分类:
数据库 时间:
2020-06-10 17:27:28
阅读次数:
82
前言 MySQL中有以下日志文件,分别是: 1:重做日志(redo log) 2:回滚日志(undo log) 3:二进制日志(binlog) 4:错误日志(errorlog) 5:慢查询日志(slow query log) 6:一般查询日志(general log) 7:中继日志(relay lo ...
分类:
数据库 时间:
2020-05-30 10:58:00
阅读次数:
93
InnoDB是MySQL5.5之后默认支持的表存储引擎。其特点是:行锁设计,支持MVVC,支持外键,提供一致性非锁定读。InnoDB存储引擎有多个内存块,负责一下工作: 维护有所进程和线程需要访问的多个内部数据结构 缓存磁盘上的数据,方便快速地读取,同时在对磁盘文件的数据修改之前在这里缓存 重做日志... ...
分类:
数据库 时间:
2020-05-29 19:45:56
阅读次数:
271
DM 数据库使用了磁盘上大量的物理存储结构来保存和管理用户数据。典型的物理存储结构包括:用于进行功能设置的配置文件;用于记录文件分布的控制文件;用于保存用户实际数据的数据文件、重做日志文件、归档日志文件、备份文件;用来进行问题跟踪的跟踪日志文件等。
分类:
数据库 时间:
2020-05-27 09:17:13
阅读次数:
109
重做日志(redo log) 作用: 确保事务的持久性。 防止在发生故障的时间点,尚有脏页未写入磁盘,在重启mysql服务的时候,根据redo log进行重做,从而达到事务的持久性这一特性。 内容: 物理格式的日志,记录的是物理数据页面的修改的信息,其redo log是顺序写入redo log fi ...
分类:
数据库 时间:
2020-05-24 21:13:20
阅读次数:
81
事务特性,ACID,原子性、一致性、隔离性、持久性 1、事务的隔离性由锁实现 2、redo log(重做日志) 用来保证事务的原子性和持久性 3、undo log(回滚日志)用来保证事务的一致性 用来帮助事务回滚以及mvcc的功能,mvcc的实现是通过undo日志实现的 当用户读取一行时,若该记录已 ...
分类:
其他好文 时间:
2020-05-17 19:04:34
阅读次数:
55
一条查询语句一般经过连接器、分析器、优化器、执行器等模块,最后到达存储引擎。一条更新语句也需要经连接器连接数据库、分析器会通过词法和语法解析知道这是一条更新语句、优化器决定要使用的索引、然后执行器执行负责具体执行,找到这一行,然后更新。更新语句和查询语句不一样的是,更新流程还涉及两个重要的日志模块,redolog(重做日志)和binlog(归档日志)。
分类:
数据库 时间:
2020-05-15 13:04:48
阅读次数:
85
日志系统主要有redo log(重做日志)和binlog(归档日志)。redo log是InnoDB存储引擎层的日志,binlog是MySQL Server层记录的日志, 两者都是记录了某些操作的日志(不是所有)自然有些重复(但两者记录的格式不同)。 图来自极客时间的mysql实践,该图是描述的是M ...
分类:
数据库 时间:
2020-05-11 01:03:15
阅读次数:
81