MySQL底层细节
文章平均质量分 94
学而知不足~
这个作者很懒,什么都没留下…
展开
-
MySQL优化第七课:深入理解MVCC与BufferPool缓存机制
MVCC多版本并发控制机制Mysql在可重复读隔离级别下如何保证事务较高的隔离性,上节课演示过,同样的sql查询语句在一个事务里多次执行查询结果相同,就算其它事务对数据有修改也不会影响当前事务sql语句的查询结果。这个隔离性就是靠MVCC(Multi-Version Concurrency Control)机制来保证的,对一行数据的读和写两个操作默认是不会通过加锁互斥来保证隔离性,避免了频繁加锁互斥,而在串行化隔离级别为了保证较高的隔离性是通过将所有操作加锁互斥来实现的。Mysql在读已提交和可重复读原创 2022-02-18 00:33:58 · 450 阅读 · 1 评论 -
MySQL优化第六课:深入理解Mysql事务隔离级别与锁机制
概述我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能 就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。 这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制、锁机 制、MVCC多版本并发控制隔离机制,用一整套机制来解决多事务并发问题。事务及其ACID属性事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性。原子性(Atomicity) :事务是一个原子操作单元,其对数原创 2022-02-17 18:17:57 · 180 阅读 · 1 评论 -
MySQL优化第五课:MySQL索引优化实战二
分页查询优化DROP TABLE IF EXISTS `employees`;CREATE TABLE `employees`(`id` INT(11) NOT NULL AUTO_INCREMENT,`name` VARCHAR(24) NOT NULL DEFAULT '' COMMENT '姓名',`age` INT(11) NOT NULL DEFAULT '0' COMMENT '年龄',`position` VARCHAR(20) NOT NULL DEFAULT '' COMMEN原创 2022-02-17 00:24:41 · 259 阅读 · 1 评论 -
MySQL优化第四课:Mysql索引优化实战一
实例DROP TABLE IF EXISTS `employees`;CREATE TABLE `employees`(`id` INT(11) NOT NULL AUTO_INCREMENT,`name` VARCHAR(24) NOT NULL DEFAULT '' COMMENT '姓名',`age` INT(11) NOT NULL DEFAULT '0' COMMENT '年龄',`position` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '原创 2022-02-16 19:29:30 · 258 阅读 · 1 评论 -
MySQL优化第三课:一条SQL在MySQL中是如何执行的
MySQL的内部组件结构大体来说,MySQL可以分为Server层和存储引擎层两部分Server层主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。Store层存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持InnoDB、MyISAM、Memory等多个存储引擎。现在最常用的存储引擎是InnoDB,它从MySQL5.5.5版本开始原创 2022-02-15 16:43:54 · 812 阅读 · 1 评论 -
MySQL优化第二课:Explain详解与索引实践
啊原创 2022-02-12 18:32:13 · 242 阅读 · 0 评论 -
MySQL优化第一课:深入理解MySQL索引底层数据结构与算法
索引索引是帮助MySQL高效获取数据的排好序的数据结构索引的数据结构二叉树(特定条件下退化成链表)红黑树(树的高度不可控,太高了)Hash表B-Tree帮助学习数据结构:数据结构可视化网址底层数据结构B树叶节点具有相同的深度,叶节点的指针为空所有索引元素不重复节点中的数据索引从左到右递增排列B+树(B树变种)非叶子节点不存储data,只存储索引(冗余),可以放更多索引叶子节点包含所有索引字段叶子节点用指针连接,提高区间访问(范围查找)的性能MySQL采原创 2022-02-11 14:07:46 · 861 阅读 · 1 评论