MySQL
文章平均质量分 95
c.
这个作者很懒,什么都没留下…
展开
-
使用Druid SQL Parser解析SQL
在以前的博文《使用Spring Boot JPA Specification实现使用JSON数据来查询实体数据》中讲到了目前业务上的需求就是以前老系统是通过配置SQL去抽取一些业务数据的,但现在新系统想通过页面的一些配置化实现跟配置SQL一样去抽取数据。所以在之前的博文讲到了如何利用JPA Specification和构造的JSON数据去抽取数据。但是老系统很多历史数据都是用SQL去配置的,这些配置当然需要迁移到新系统,但是我们不可能手工一条条去把这些SQL转成当前的JSON结构,这样太浪费时间了。所以我的原创 2022-06-16 16:12:28 · 14098 阅读 · 0 评论 -
MySQL-InnoDB-MVCC多版本并发控制
文章目录MySQL-InnoDB-MVCC多版本并发控制为什么需要有MVCC?什么是当前读和快照读?快照读当前读MVCC 的实现原理三个隐藏的字段Undo Log记录链图解Read View 读视图MVCC的整体流程RR级别下和RC级别下 Read View生成的时机总结本文简单总结参考MySQL-InnoDB-MVCC多版本并发控制InnoDB is a multi-version storage engine. It keeps information about old versions of原创 2022-05-06 11:21:22 · 468 阅读 · 0 评论 -
什么是脏读、不可重复读、幻读?一文带你快速搞定MySQL事务隔离级别
文章目录什么是脏读、不可重复读、幻读?一文带你快速搞定MySQL事务隔离级别事务ACID四个特性原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)事务隔离级别多个事务并发执行时引发的问题脏读不可重复读幻读MySQL四个事务隔离级别参考什么是脏读、不可重复读、幻读?一文带你快速搞定MySQL事务隔离级别事务既然要讲事务隔离级别,那我们肯定要来先说一下事务这个概念。那什么是事务呢?我们可以看到oracle的解释是:A transa原创 2021-10-24 00:19:08 · 354 阅读 · 0 评论 -
五分钟了解一下MySQL的体系结构
文章目录MySQL体系结构Client connectorMySQL ServerConnection poolService utilitiesSQL 层SQL interface解析器(Parser)优化器(Optimizer)缓存(Cache)存储引擎物理存储层参考MySQL体系结构下图来自《MySQL技术内幕(InnoDB存储引擎)第2版》书中的图:然后我们根据这个图来讲解一下每个部分的功能和作用。Client connector首先我们可以看到最上面的 connector部分负责处理原创 2021-08-30 16:16:46 · 285 阅读 · 0 评论 -
五分钟告诉你什么是MySQL的覆盖索引
文章目录五分钟告诉你什么是MySQL的覆盖索引覆盖索引总结参考五分钟告诉你什么是MySQL的覆盖索引前面我们已经对MySQL索引底层原理多少有一定的了解了,还不是很了解的小伙伴可以看我之前的博文:《不会吧不会吧,难道还有人不了解MySQL索引底层原理?》 和 《MySQL底层为什么要选用B+树作为索引的数据结构呢?》其实在之前的博文中也提到了覆盖索引啦,然后今天就单独把这个拿出来讲一讲这个MySQL的性能优化: 覆盖索引。覆盖索引覆盖索引:SQL只需要通过索引就可以返回查询所需要的数据,而不必通原创 2021-08-12 22:32:16 · 7300 阅读 · 0 评论 -
不会吧不会吧,难道还有人不了解MySQL索引底层原理?
文章目录MySQL索引底层原理什么是索引?索引的优点索引的缺点索引分类索引的底层原理索引数据结构选择MyISAM存储引擎和InnoDB存储引擎索引B+树的区别InnoDB索引B+树详解聚簇索引和非聚簇索引聚簇索引需要注意什么?为什么不推荐主键使用UUID?最左前缀原理MySQL是如何选择最优索引的?覆盖索引总结参考MySQL索引底层原理什么是索引?之前我们也讲过了(我的上面一篇博文中提到的关于索引数据结构的选择),索引就是一种帮助mysql提高查询效率的数据结构,而且重点是排好序的数据结构索引的优点原创 2021-08-11 22:38:45 · 982 阅读 · 2 评论 -
MySQL底层为什么要选用B+树作为索引的数据结构呢?
文章目录MySQL底层为什么要选用B+树作为索引的数据结构呢?MySQL 索引底层数据结构选型哈希表(Hash)二叉查找树(BST)平衡二叉树(AVL树)红黑树B-树B+树参考MySQL底层为什么要选用B+树作为索引的数据结构呢?MySQL我想是大家平时都会用到的数据库了,我们平时优化SQL的执行速度往往都是加索引就完事了,管他的看执行计划然后加索引。那我们想过我们加索引其实加的是什么东西吗,为什么加索引能够帮我们优化查询速度呢。其实这就跟查字典一个道理了,如果我们想查一个字,在没有目录的情况下,我们就原创 2021-07-22 16:48:21 · 793 阅读 · 0 评论