摘要: redo log 1、redo log属于物理日志,redo log记录格式(数据文件、数据页、数据行、操作类型、操作值) 2、redo log主要用来保护innodb buffer pool中的脏数据页,系统崩溃恢复需要用到redo log, 3、redo log用来进行崩溃恢复事务的前滚;实现快 阅读全文
posted @ 2019-07-28 15:31 Tech_Shrimp 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 事务的四个固有特点 1、innodb支持事务、MyISAM不支持事务,因为这两个引擎是MySQL使用较多的两个引擎 2、事务在语法上就是start transaction;dml、select;commit;(rollback) 3、事务的核心就是ACID,简单就是事务的原子性、事务一致性、事务的隔 阅读全文
posted @ 2019-07-28 15:29 Tech_Shrimp 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 1、多版本控制,所谓的多版本,指的是undo中存储着数据行修改前的多个版本,这些版本通过指针依次串联起来,我们可以提供指针依次往前找,一直找到满足我们需要的版本,这中间可能涉及到多个版本,因此称为MVCC;MVCC实现的基础就是UNDO中会存储数据行修改前的值,这个值包括数据以及事务ID和rollP 阅读全文
posted @ 2019-07-28 15:28 Tech_Shrimp 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 大体来说,MySQL分为server层和存储引擎层,server层有连接器、分析器、优化器、执行器和查询缓存; 其中,客户端发出请求与连接器建立连接并获取权限, 分析器对SQL语句做分析并判断是否正确; 优化器决定使用哪个索引,生成执行计划,决定多表连接中表的连接顺序。 执行器执行语句,操作存储引擎 阅读全文
posted @ 2019-07-28 15:27 Tech_Shrimp 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 1、mysql为了支持oltp(交易)系统而设计的一个引擎,目前是mysql的默认引擎 2、支持事务,这是oltp最基本的要求,事务支持ACID、原子性、一致性、持久性、隔离性 3、支持行锁,大大提升MySQL的并发性能,但是在资源消耗方面,但并未过多占用内存,只有发生事务锁冲突的时候才会占用内存 阅读全文
posted @ 2019-07-28 15:26 Tech_Shrimp 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 自动创建: 当在CREATE TABLE或者ALTER TABLE语句中定义了一个主键或者唯一键约束时,MySQL自动为它们创建一个唯一索引。主键索引的名字叫primary。唯一键索引的名字一般就是唯一键的第一个列的名字(有单列索引和复合索引)。 手工创建:使用CREATE INDEX或者ALTER 阅读全文
posted @ 2019-07-28 15:25 Tech_Shrimp 阅读(192) 评论(0) 推荐(0) 编辑