Mysql之如何插入数据剖析mysql各个技术点
1.从架构进行说起
注释:
CBO:基于成本的优化
RBO:基于效率的优化
2.分类阐述
3.二次提交
执行流程:
1、执行器先从引擎中找到数据,如果在内存中直接返回,如果不在内存中,查询后返回
2、执行器拿到数据之后会先修改数据,然后调用引擎接口重新写入数据
3、引擎将数据更新到内存,同时写数据到redo中,此时处于prepare阶段,并通知执行器执行完成,随时可以操作
4、执行器生成这个操作的binlog
5、执行器调用引擎的事务提交接口,引擎把刚刚写完的redo改成commit状态,更新完成
总结:
多补充一点:MySQL基础知识
相关系列文章:
0.Mysql之如何插入数据剖析mysql各个技术点 :通过插入一条数据的过程引出mysql知识点:
1.mysql之事务隔离级别以及MVCC:ACID、事务级别以及产生问题、MVCC(三个隐藏字段、undolog、read_view详解)
2.Mysql之Innodb锁场景:锁分类、RC下各种加锁情况、RR下各种加锁情况
3.Mysql之主从复制原理:主从复制原理、二次提交、MTS、组提交、GTID
4.Mysql之数据结构 :hash、二叉树、AVL、平衡二叉树(红黑树)、B-Tree、B+Tree
5.Mysql之索引 :回表、索引覆盖、索引下推、MRR、FIC、索引方式、哈希索引
6.Mysql之其他知识 :日志、MyiSAM和InnoDB比较,基础知识体系