
mysql
文章平均质量分 96
化身强盗_Bandit
这个作者很懒,什么都没留下…
展开
-
Mysql深入学习 --- 锁机制
文章目录十四、锁14.1 并发事务一致性问题1.1 写-写情况1.2 读-写或写-读情况1.3 一致性读1.4 锁定读1.5 锁定写14.2 多粒度锁14.3 MySQL中的行锁和表锁3.1 其他引擎中的锁3.2 InnoDB中的锁3.2.1 InnoDB中的表级锁3.2.2 InnoDB中的行级锁①:Record Lock记录锁②:Gap Lock间隙锁③:Next-Key Lock临键锁④:Insert Intention Lock插入意向锁⑤:隐式锁3.3 InnoDB锁的内存结构14.4 锁相关的其原创 2022-02-18 00:52:08 · 1079 阅读 · 0 评论 -
MySQL深入学习 --- MVCC及其原理、MVCC如何解决幻读
文章目录十三、MVCC及其原理13.1 什么是MVCC1.1 回忆一下隔离级别13.2 MVCC实现原理2.1 版本链2.2 ReadView2.3 ReadView访问规则:2.4 READ COMMITTED和REPEATABLE READ的不同ReadView规则2.5 MVCC对purge的影响13.3 MVCC怎么解决幻读的 往期: MySQL深入学习 — mysql逻辑架构,SQL的执行流程,数据库缓冲池 MySQL深入学习 — MySQL存储引擎,InnoDB、MyISAM索引的数据结构 M原创 2022-02-17 19:16:11 · 1378 阅读 · 3 评论 -
MySQL深入学习 --- 事务和三大日志详解
文章目录十一、MySQL事务11.1 ACID11.2 事务的状态11.3 如何使用事务3.1 显式事务3.2 隐式事务11.4 事务隔离级别4.1 数据并发问题4.2 事务隔离级别4.3 小结十二、MySQL三大日志12.1 binlog1.1 配置文件参数12.2 redo日志2.1 为什么要用redo日志2.2 redo 日志格式2.3 Mini-Transaction2.4 redo日志写入的过程2.4.1 redo log block 重做日志块2.4.2 redo log buffer 重做日志原创 2022-02-17 17:21:46 · 866 阅读 · 0 评论 -
MySQL深入学习 --- 索引的创建和删除,索引设计原则,索引失效场景,查询优化,索引下推ICP
文章目录六、索引的创建和删除6.1 索引的创建1.创建表的时候创建2.在已存在的表上创建6.2 索引的删除七、索引设计原则7.1 哪些情况适合索引7.2 哪些情况不适合索引八、索引失效场景1.违反最左前缀原则2.在索引列上用运算、函数、类型转换导致失效2.1 索引列上使用运算2.2 索引列使用函数2.3 索引列类型转换3.LIKE通配符的问题4.范围条件右边的列索引失效5.<>、NOT、IN、NOT EXISTS失效6. OR 前后存在非索引的列导致索引失效九、查询优化9.1 关联查询优化JOI原创 2022-02-13 22:39:48 · 1072 阅读 · 0 评论 -
MySQL深入学习 --- MySQL存储引擎,InnoDB、MyISAM索引的数据结构
文章目录四、MySQL存储引擎4.1 InnoDB引擎:具备外键支持功能的事务存储引擎4.2 MyISAM 引擎:主要的非事务处理存储引擎4.3 Memory 引擎:置于内存的表小结:五、索引的数据结构5.1 为什么使用索引5.2 索引及其优缺点1.索引概述2.优点3.缺点5.3 InnoDB中索引的推演1.简单的索引设计方案2.InnoDB的索引方案①迭代1次:目录项纪录的页②迭代2次:多个目录项纪录的页③ 迭代3次:目录项记录页的目录页④B+Tree3.常见索引概念3.1 聚簇索引`优点:``缺点:`3原创 2022-02-12 18:20:02 · 1661 阅读 · 0 评论 -
MySQL深入学习 --- mysql逻辑架构,SQL的执行流程,数据库缓冲池
文章目录一、逻辑架构1.1 第一层:连接层1.2 第二层:服务层1.3 第三层:引擎层1.4 存储层1.5 小结二、SQL执行流程2.1 查询缓存2.2 解析器/分析器2.3 优化器2.4 执行器2.5 小结三、数据库缓冲池(buffer pool)3.1 缓冲池 vs 查询缓存缓冲池查询缓存3.2 缓冲池如何读取数据 一、逻辑架构 逻辑架构图 1.1 第一层:连接层 客户端访问MySQL服务器前首先要建立TCP连接 三次握手建立连接成功后,MySQL服务器对TCP传输过来的账号密码做 身份认证 、 权原创 2022-02-10 16:43:25 · 1029 阅读 · 0 评论 -
Mysql基础巩固 --- 多表查询和聚合函数的一些细节,SELECT的执行过程
文章目录一、多表查询1.1 笛卡儿积(交叉连接)解决方法:1.2 等值连接 vs 非等值连接1.3 自连接 vs 非自连接1.4 内连接 vs 外连接1.4.1 内连接(INNER JOIN)1.4.2 外连接(OUTTER JOIN)1.4.2.1 左外连接(LEFT OUTTER JOIN)1.4.2.2 右外连接(RIGHT OUTTER JOIN)1.4.2.3 满外连接(FULL OUTTER JOIN)1.4.2 UNION1.5 图解7种JOIN方式总结:1.6 SQL99新特性1.6.1 自原创 2022-01-28 17:37:20 · 2206 阅读 · 0 评论