1 binlog、redo log配合崩溃恢复 反证法,若无两阶段提交(2PC),会导致MySQL主备数据不一致。 2PC的不同瞬间,MySQL若异常重启了,又该如何保证数据完整性?1.1 2PC上图即update语句执行流程,其中的commit语句:【commit语句】,指MySQL语法中,提交一个事务的命令。一般跟begin/start transaction配对而图中的【commit步骤】
从最基本层面看,数据库只需做两件事:向它插入数据肘,它就保存数据之后查询时,返回那些数据本文讨论如何存储输入的数据,并在收到查询请求时,如何重新找到数据。为何关注数据库内部的存储和检索呢?你不可能从头开始实现存储引擎,往往需要从众多现有的存储引擎中选择适合业务的存储引擎。 为针对特定工作负载而对数据库调优时,就得对存储引擎底层机制有所了解。针对事务型工作负载、分析型负载的存储引擎优化存在很大差异。
间隙锁+行锁,很容易判断是否会出现锁等待。而间隙锁在可重复读隔离级别(RR)下才有效,因此本文默认RR。1 加锁规则原则1 加锁的基本单位:next-key lock,前开后闭原则2 查找过程中,【访问到的对象】才会加锁,加的默认的next-key lock优化1 索引上的等值查询,给【唯一索引】加锁时,next-key lock退化为行锁(记录锁)优化2 索引上的等值查询,【非唯一索引】向右遍历
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号