
mysql
文章平均质量分 95
T_Antry
居安思危,方可临危不乱。
展开
-
Mysql(七)MVCC与BufferPool缓存机制 丢失更新 MVCC MVCC的实现原理 隐式字段 undo日志 版本链比对规则 Read View 版 BufferPool缓存机制
上一章,提到了MVCC,但只是一笔带过。这一章较为详细的同读者一起了解MVCC是如何实现可重复读的。同时,也学习一下存储过程,了解mysql为何又高效,又保证安全。文章的阅读,一次性可能没办法全看懂(当然也是我的问题,因为我不知道怎么安排顺序最好),或许需要先看MVCC原理部分,回头再看定义会更好,也仅仅是一种建议,我个人对枯燥的文字不是很感兴趣。原创 2021-10-10 12:16:14 · 3678 阅读 · 2 评论 -
Mysql(六)Mysql锁与事务隔离级别 ACID属性 并发事务处理带来的问题 事务隔离级别 锁详解 锁分类 表锁 行锁 事务隔离级别案例 读未提交 读已提交 不可重复读 串行化 间隙锁
文章目录前言ACID属性并发事务处理带来的问题事务隔离级别锁详解锁分类表锁行锁事务隔离级别案例前言数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能就会导致脏写、脏读、不可重复读、幻读这些问题。为了解决多事务并发问题,数据库设计了事务隔离机制、锁机制、MVCC多版本并发控制隔离机制,用一整套机制来解决多事务并发问题。ACID属性事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性。原子性(Atomicity) : 事务是一个原子操作单元,其.原创 2021-10-07 16:57:17 · 2143 阅读 · 0 评论 -
Mysql(五)索引优化 常见的分页场景优化技巧 Join关联查询优化 in和exsits优化 count(*)查询优化
前言常见的分页场景优化技巧:根据自增且连续的主键排序的分页查询根据非主键字段排序的分页查询Join关联查询优化嵌套循环连接 Nested-Loop Join(NLJ) 算法基于块的嵌套循环连接 Block Nested-Loop Join(BNL)算法被驱动表的关联字段没索引为什么要选择使用 BNL 算法而不使用 Nested-Loop Join ?关联sql的优化straight_join:in和exsits优化count(*)查询常见优化方法原创 2021-10-07 09:40:56 · 2697 阅读 · 0 评论 -
Mysql(四)索引优化 trace 工具的使用 索引设计原则 如何选择合适的索引 什么是索引下推 为什么范围查找Mysql没有用索引下推优化?
文章目录前言强制走索引覆盖索引优化in和or在表数据量比较大的情况会走索引,在表记录不多的情况下会选择全表扫描like KK% 一般情况都会走索引索引下推(Index Condition Pushdown,ICP)为什么范围查找Mysql没有用索引下推优化?Mysql如何选择合适的索引trace工具用法:前言前面几个章节,只是了解到了一些索引的使用原则,以及explain关键字查看具体使用的什么索引。接下来两个章节来思考如何更好地使用索引。示例表drop table `employees`;C.原创 2021-10-04 18:43:58 · 2528 阅读 · 0 评论 -
Mysql(三) 一条sql语句在mysql中是如何执行的 Server层 存储引擎层 连接器 创建账户修改user密码 查询缓存 分析器 词法分析器原理 优化器 执行 词法分析器原理 优化器 执行器
文章目录前言一、mysql架构分析前言通常情况下我们看到的只是输入一条SQL语句,然后执行返回一个结果,却不知道这条语句在MySQL内部是怎样的一个执行过程。因此今天我也来学习了解下这个过程,这个部分网上资料很多,翻阅一下都有,我也边看变挑些感觉比较好的作为总结了。一、mysql架构分析基本架构示意图:从图中可以看出,MySQL可以分为Server层和存储引擎层两部分。Server层主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的.原创 2021-10-04 15:17:04 · 2137 阅读 · 0 评论 -
Mysql(二)Explain详解 何时查询可能使用索引 联合索引作用规则 id select_type table type possible_keys key key_len ref Extra
文章目录前言一、EXPLAIN二、 新建三张表三、explain 两个变种前言sql的调优在实际开发中非常常见,特别是服务器压力上去之后就需要考虑给耗时大的,常用的sql进行优化,提高服务器的高可用。调优时会用到explain工具,本章就来使用下explain,看看这到底有多强大。一、EXPLAIN使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈;在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执原创 2021-10-03 10:48:28 · 3019 阅读 · 0 评论 -
Mysql(一) 深入理解Mysql索引底层数据结构与算法 索引数据结构对比 二叉树 红黑树 hash表 B-Tree B+Tree MylSAM InnoDB 最左匹配原则
本章是本系列的第一章,虽然平时经常可以用到mysql,但是由于对mysql了解不够。提到优化显然有些措手不及的样子。要想将一门技术玩弄于手掌之中,必然要阅读大量的书籍,然后做好总结。而我是那种不太容易专心的人,所以我用这样的方式记录下我学习的过程。这不是权威,只是我个人摘抄喝理解,认为正确的说法。原创 2021-09-24 11:35:04 · 2002 阅读 · 0 评论