上几篇博客我们大致讲了一下mysql的底层结构,什么B+tree,什么Hash需要回行啊,再就是讲了mysql优化的explain,这次我们来说说mysql的锁。 mysql锁 锁从性能上分为乐观锁(用版本对比来实现)和悲观锁,乐观锁的性能要比悲观锁高。 从对数 ...
让我再深撸一次mysql吧,这次主要以应对面试来说说mysql,大概几个方向,索引结构,查询引擎,索引优化,explain的详解和trace工具的使用。 索引: 我们先来看一下mysql的B tree,本文几乎都在围绕这个图来说的。 mysql的底层是使用B tree来存储数据的,和B tree有一点点不同的是叶子节点是双向链表的结构,并不是图内的单向指针的。且null值放置在叶子节点的最前面。 ...
2019-08-27 14:14 0 486 推荐指数:
上几篇博客我们大致讲了一下mysql的底层结构,什么B+tree,什么Hash需要回行啊,再就是讲了mysql优化的explain,这次我们来说说mysql的锁。 mysql锁 锁从性能上分为乐观锁(用版本对比来实现)和悲观锁,乐观锁的性能要比悲观锁高。 从对数 ...
mysql索引是帮助mysql高效获取的排好序的数据结构 数据结构 二叉树(左小右大) 缺点:如果是递增或者递减的数据,就会成一个链状,失去了索引的功能 红黑树 二叉树的升级版,如果是递增或递减的数据就会做一下优化 缺点:治标不治本,树高 ...
本文转载: 一文说清 InnoDB 的事务机制 我们从一个转账的故事开始。 隔壁小王从美团上 ...
参考地址:https://www.cnblogs.com/bonelee/p/6359250.html 参考地址:https://blog.csdn.net/xtdhqdhq/ ...
一、索引的底层数据结构与算法 1、什么是索引? 索引是帮助MySQL高效获取数据的排好序的数据结构。 2、索引的数据结构 B+Tree(B-Tree变种) 非叶子节点不存储data,只存储索引(冗余),可以放更多的索引 叶子节点包含所有索引字段 ...
一:MySql架构 1.一条sql语句如何执行的:mysql5.7查询缓存默认关闭,mysql8缓存已被移除。 存储引擎对比: MySIAM:表级锁定,不支持事务,已读为主 InnoDB:支持事务,支持外键,支持行级别和表级别的锁定,B+索引,效率高 ...
索引的本质 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。 我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本 ...
MySQL索引背后的数据结构及算法原理 一、定义 索引定义:索引(Index)是帮助MySQL高效获取数据的数据结构。本质:索引是数据结构。 二、B-Tree m阶B-Tree满足以下条件:1、每个节点至多可以拥有m棵子树。2、根节点,只有至少有2个节点(要么极端情况,就是一棵树就一个根 ...