![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
啊狸的Java
7年java开发经验,对dubbo,spring,springmvc,springboot,springCloud,mybatis等框架使用多年,并了解部分源码,熟悉设计模式,了解jvm、多线程、nio等,对tomcat优化,mysql优化有深入了解
展开
-
Mysql隔离级别
Mysql隔离级别原创 2022-03-19 17:20:16 · 686 阅读 · 0 评论 -
Mysql一条select语句的执行过程
mysql的执行流程: query Cache: 是缓存sql结果集的内存缓冲区,是将sql的hash值作为key,结果集作为value存放, 目的是提高查询效率,但如果query cache中关联的表的数据或结构发生变化,则query cache中关于这张表的数据都会被清空,这个过程会占用服务器的资源,如果表的数据量大,则占的资源也会多,mysql在version8中已经去掉这个功能。详细介绍 SQL解析器: sql解析器 会将sql按照关键字打碎成一段段的语句,比如 select * from a这条原创 2021-05-06 14:07:30 · 288 阅读 · 0 评论 -
MySql的缓存技术,query_cache
mysql执行流程 query-cache -> 解析器 -> 预处理器 -> 优化器 -> 执行计划 -> 执行器 -> 返回结果 query-cache原理 当mysql接受到一条sql时,query-cache处理器会对这条sql做hash计算得到一个hash值,然后将这个hash值去query-cache容器去匹配,如果匹配的上,则直接返回匹配的结果,如果匹配不上,则会将hash值 和 执行器执行sql的结果存进query-cache容器里,以及这条sql相关的信原创 2021-04-27 12:27:08 · 459 阅读 · 0 评论 -
Mysql逻辑关键字用法与说明
原创 2019-03-01 13:34:36 · 530 阅读 · 0 评论 -
MySQL为什么要选择B+树来作为索引的数据结构
二叉树的结构出发 首先从二叉树的结构来说,二叉树的结构是从它的第一个元素开始定根节点,往后插入的数据会跟根节点的值做比较,如果值比根节点的值大则会放到右边,成为右子节点,反之,则插入到左边,成为左子节点 结论 从上面二叉树的结构可以得到以下结论:如果第一个插入的数据的值比较小,往后插入的数据的值都比第一个插入的数据的值要大,则二叉树会转变成为一颗斜树,斜树的时间复杂度为O(n),效率极低...原创 2019-03-01 15:56:37 · 1107 阅读 · 0 评论 -
MySql引擎
Mysql的引擎有好几种,其中Innodb和Myiasm最为常用 存储引擎在mysql里是插拔式的, 什么是插拔式? 所谓的插拔式就是可以配置的,我们在建表的时候,可以在建表语句上加上一句Enginee=Myiasm,就表示要建的表使用的存储引擎为Myiasm 从上面一点可以看出,mysql的存储引擎是表级别的,存储引擎是可以由第三方公司来开发,自mysql5.5以后,mysql默认的存储引擎为i...原创 2019-03-01 21:31:50 · 170 阅读 · 0 评论 -
Mysql索引的最左匹配原则原理
总所周知,mysql的索引遵循的是最左匹配原则 那最左匹配原则在mysql里是怎么玩的? 假设我们在表中有2个字段,一共有6条数据,其中id的索引树见上图 假设我们现在要查id=6的数据 ...原创 2019-03-02 15:39:59 · 5885 阅读 · 1 评论 -
关于Mysql中Innodb与Myiasm自增主键的计数问题
假设: innodb的自增主键的计数是保存在内存中,myiasm则是保存于硬盘中 验证: 下面两张表,第一张t_ask是innodb引擎的,第二张是myisam的 这时按照mysql自增的规律,插入一条新数据,id会叠加,新的id在t_ask是8,t_mysam_test_table中是9 现在我们分别删除两张表的最后一条数据,然后停止mysql,然后再启动,再分别插入一条新数据 ...原创 2019-03-13 15:11:05 · 706 阅读 · 2 评论