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