![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 88
xpang0
这个作者很懒,什么都没留下…
展开
-
MySQL学习记录之行格式与页格式
之前的文章https://blog.csdn.net/e5yrt2/article/details/112727473,已经提过了在BufferPool中,是按照页的形式来存放的。但是数据在表中是一行行的存储的,那么这些数据又是怎样的格式?行格式记录在磁盘上的存放方式被称为行格式,InnoDB存储引擎中有4种不同类型的行格式,Compact、Redundant、Dynamic和Compressed。指定行格式CREATE TABLE 表名 (列的信息) ROW_FORMAT=行格式名称 .原创 2021-01-23 15:20:19 · 353 阅读 · 2 评论 -
MySQL学习记录之BufferPool
上图是MySQL的整体架构和InnoDB存储引擎的架构,本篇文章来谈一下Buffer Pool(缓冲池)为什么需要BufferPool?由于对数据库CRUD是非常频繁的,如果直接在磁盘上更新操作数据的话,对磁盘进行随机读写,消耗是相当大的。所以需要在内存中开辟一个池子用来对数据进行暂时的读写操作,也就是Buffer Pool。当在内存中操作完毕后,需要在合适的机会将内存中的数据刷到磁盘上去,否则就是导致内存与磁盘的数据不一致,也就是脏数据。BufferPool整体结构由上图的左方可知,BP内的结..原创 2021-01-17 00:51:18 · 578 阅读 · 0 评论 -
一条SQL语句在MySQL中是如何执行的
本篇文章主要是以一条SQL查询语句和一条SQL更新语句是如何执行的带出来整体的MySQL架构下方的图片是整体一个情况的概括,像查询缓存在MySQL8.0后已经弃用了,因为确实用处不大,而且像undo、redo和binlog在查询语句中是不会写入的。查询语句建立连接mysql> select * from T where ID=10;以如上的一条SQL语句为例,MySQL是采用可拔插是存储引擎,常见的存储引擎有MyISAM、InnoDB、Memory等。咱们之前写Java代码的时候,一原创 2021-01-14 16:52:50 · 344 阅读 · 0 评论 -
MySQL系列文章(一)整体架构
本系列文章是我对MySQL的一个整理和复习,可能与之前的文章有冲突,但不重要。欢迎访问我的博客,只是懒得更新,东西比较少。https://www.xpang0.com/1、体系架构MySQL整体的体系架构图有很多,这个图就很形象的展示了大致的结构。MySQL Server自顶向下分为网络连接层、服务层、存储引擎层和系统文件层。1.1、网络连接层主要提供与MySQL服务器建立连接的支持。1.2、服务层连接池:负责存储和管理客户端与数据库的连接,一个线程负责管理一个连接。系统管理和.原创 2020-11-29 23:28:42 · 163 阅读 · 0 评论 -
MySQL学习记录—什么是Explain(表优化)
什么是Explain上图是一条查询语句在MySQL中的执行流程,而与Explain关联最大的就是优化器,优化器简单说就是MySQL基于成本和规则为查询语句生成一个执行计划,比如多表连接查询的顺序等等。而这片文章主要就来说下Explain,Explain就是用来帮我们查看MySQL给我们生成的是怎样的执行计划,从而我们可以有针对性的优化SQL。各列的含义如上图就是对一条SQL...原创 2020-04-16 18:21:51 · 204 阅读 · 0 评论 -
MySQL学习记录—什么是锁
目录悲观锁和乐观锁悲观锁乐观锁MySQL中的锁按锁的粒度分类按锁是否可写分类悲观锁和乐观锁悲观锁悲观锁由名字可知,就是把各种东西看的很消极悲观。比如在获取数据处理的时候,担心自己处理的过程中有人会修改这条数据,那么就把数据加锁(表锁、行锁等等)。那么这时其他线程操作数据就会处于阻塞状态,直到该线程操作完毕。乐观锁乐观锁就是在对数据库操作过程中,认为...原创 2020-04-09 18:13:30 · 148 阅读 · 0 评论 -
MySQL学习记录—事务隔离
目录事务并发问题脏读不可重复读幻读解决方案MVCC版本链和readview上篇文章介绍了什么是事务,这篇就继续聊聊事务的另一方面——隔离级别上文提到了事务的四个特性,具体文章中会提到原子性(Atomicity) 隔离性(Isolation) 一致性(Consistency) 持久性(Durability)创建一个表,表的结构如下CREAT...原创 2020-04-07 23:09:36 · 142 阅读 · 0 评论 -
MySQL学习记录—什么是事务
目录事务定义事务例子事务规则原子性(Atomicity)隔离性(Isolation)一致性(Consistency)持久性(Durability)事务定义网上对事务比较术语化的解释是:事务是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合。事务例子...原创 2020-04-04 15:06:19 · 156 阅读 · 0 评论 -
MySQL学习记录—常见索引
目录常见索引模型有序数组哈希表二叉搜索树B+树索引分类主键类型划分:主键索引和非主键索引唯一约束划分:唯一索引和普通索引索引联合划分:联合索引和单列索引最左前缀原则常见索引模型有序数组有序数据就很好理解了,底层就是一个数组。但缺点就是更新数据时候时间复杂度很高,最差的情况就是在数组头部插入,这样后边的所有数据都要挪动。优点就是查询非常快。哈希...原创 2020-03-31 23:17:08 · 102 阅读 · 0 评论