
MySQL
永远的EMT
每天时刻保持超越自我的意识
展开
-
MySQL更新语句执行过程
跟查询流程不一样的是,更新流程还涉及两个重要的日志模块: redo log(重做日志)和 binlog(归档日志)。重要的日志模块: redo log在MySQL里如果每一次的更新操作都需要写进磁盘,然后磁盘也要找到对应的那条记录,然后再更新,整个过程IO成本、查找成本都很高。为了解决这个问题, MySQL的设计者就用了WAL技术, WAL的全称是WriteAhead Logging,它的关键...原创 2019-06-22 02:09:09 · 832 阅读 · 0 评论 -
MySQL事务隔离解析
目录1.隔离级别2.事务隔离的实现3.事务的启动方式4.“快照”在MVCC里的实现5.事务更新的逻辑1.隔离级别SQL标准的事务隔离级别包括: 读未提交( read uncommitted) 、读提交( read committed) 、 可重复读( repeatable read) 和串行化( serializable )。读未提交是指, 一个事务还没提交时,...原创 2019-07-02 23:52:32 · 289 阅读 · 0 评论 -
MySQL索引解析
目录1.MyISAM的索引实现2.InnoDB的索引模型3.B-Tree和B+Tree分析4.覆盖索引5.最左前缀原则6.唯一索引和普通索引的性能差异索引的出现是为了提高查询效率,但是实现索引的方式却有很多种,本质上就是用于提高读写效率的数据结构,主要有哈希表、有序数组和搜索树。这里主要讲MyISAM和InnoDB两个存储引擎的索引实现方式。1.MyISAM的索引实...原创 2019-07-04 02:41:52 · 257 阅读 · 0 评论 -
MySQL的锁解析
目录背景MVCC:Snapshot Read vs Current ReadCluster Index:聚簇索引2PL:Two-Phase LockingIsolation Level一条简单SQL的加锁实现分析组合一:id主键+RC组合二:id唯一索引+RC组合三:id非唯一索引+RC组合四:id无索引+RC组合五:id主键+RR组合六:id唯一索...转载 2019-08-20 00:33:16 · 690 阅读 · 0 评论