首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
八股文之mysql数据库篇
YR
创建于2023-01-03
订阅专栏
mysql高频面试题
等 2 人订阅
共22篇文章
创建于2023-01-03
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
事务隔离是如何实现的?(着重讲mvcc)
我们这里主要说的是InnoDB中的读写操作,就是一个事务在读,一个事务写的情况。读读的情况呢没什么说的,也不需要任何操作。写写的操作呢,我们就是对数据进行加x锁了。 我们着重说读写的操作。我们首先回顾
事务的隔离级别
上一章说到了高并发事务会出现的一些问题,解决方案就是对应的隔离级别。 mysql有四种隔离级别,每一种都会解决脏写问题,所以也是上章不讲的原因。 读未提交:只解决了脏写问题,剩下三种都还存在。 读已提
并发事务会有哪些问题?
多个事务并发的执行一定会出现相互争夺资源的问题。那么问题具体有哪些呢? 脏写 脏读 不可重复读 幻读 以上这四个问题就是我们需要知道的。但是脏写,由于mysql最低的隔离级别都能避免掉该问题。所以脏写
什么是mysql事务?事物的特性是什么?
什么是事务: 是数据库操作的最小单元,那什么是最小单元。就是事务中的操作不能再分割,作为一个整体而存在的。要么同时成功,要么就同时失败。 事物的特性: 事物的特性可是高频面试点。ACID相比大家都知道
MyISAM和InnoDB的区别是什么?
他们的索引实现不同那是单独一个点了,我们之前重点讲过。我们这里说说其他重要的点。 这么多全部背下来也挺麻烦,但是我们必须要背下来的 有三个,外键事务和锁。这三点面试的时候答不出来,那这道题就g了。 我
MySQL内部有哪些核心模块?
我们要回答这个问题,我们就要首先要清楚mysql的逻辑架构。mysql逻辑架构主要分为三层。第一层是连接层,第二层是服务层,第三层是引擎层。
mysql内部支持缓存查询吗?
这个看mysql的版本,mysql5.7是支持的,但现在8.0已经把缓存查询功能删除了。 并且 即使是mysql5.7,缓存功能也是默认关闭的。 至于为什么都不用这个缓存功能,甚至在8.0压根就把他删
有哪些情况会导致索引失效?
我们首先要知道一个sql语句到底走不走索引,取决于内部优化器的选择,他选择走索引那就走索引,他选择不走索引那就不走索引。索引失效也就意味着,优化器觉得不走索引还要好点。我们就要尽量避免这样的sql出现
什么是索引下推?
索引下推,听着确实高大上。但了解后,其实也没多高大上。简单来说索引下推的作用就是减少回表操作。 mysql5.6加入的新特性。现在都8了,已经不算啥新特性了。我们要掌握理解索引下推,我们还要知道这个特
什么时候创建索引?什么时候不建议创建索引?
什么时候创建索引?什么时候不建议创建索引? 这个问题,也算是高频问题了。我们接下来就说说啥时候适合创建索引,啥时候不适合创建索引。 适合创建索引情况 频繁的作为where条件查询的字段。此时我们可以给
唯一索引是否影响性能?
2023年 1月 5日 在以前文章中我们说到不建议使用唯一索引,因为唯一索引在添加数据时,他会去先去查询是否有相同的字段,判断没有才会去插入,相比普通索引,唯一索引插入操作中多了一个查询操作。 虽说会
什么是唯一索引?
简单来说唯一索引就是索引的列值必须唯一。比如手机号,我们就可以为其创建唯一索引。我们就来演示下如何创建唯一索引
什么是联合索引,组合索引,复合索引
这仨其实是一个东西,面试的时候可能问的名字不一样,大家要知道都是一个东西。 我们创建索引的时候可以指定某一列,那么就会按照这一列的顺序生成一个B+树,如果是数字的话,就很好比大小了。如果是字符串那么就
为什么要回表查询,直接存储数据不可以吗?
2023年 1月 4日 简单来说就是减少内存的消耗,我们知道如果和聚簇索引一样存储数据,那么数据的占用内存就会翻倍,如果数据量本身就很大的基础,再加上非聚簇索引不止一个,那么内存消耗就会过大。并且如果
在InnoDB中的非聚簇索引为什么不是存储的数据的物理地址
在MyISAM中的索引 叶子节点就是存储的数据的真实地址,那么为什么InnoDB中为什么不也存储真实地址,如果存储真实地址,也不需要进行再重新再重头查找一遍。那么为什么存储的是主键值呢? 其实这个问题
使用索引一定能提升效率吗
简单说说哪些情况不建议为字段添加索引, 如果我们的数据量比较少的情况下,也就没有必要添加索引,比如就只有几十几百的数据量,这种为其添加索引没意义,还降低了除查询操作之外的操作的性能。
索引优缺点
聚簇索引: 顺序读写(主键为自增长的id,如果是字符串,比如uuid,随机的字符串等等,那么就不会是顺序读写了。那就是随机读写的,那么效率就会大大降低了) 范围查找更快速 范围查找自带顺序 非聚簇索引
一个B+树大概能存储多少条数据
一般三层的B+树已经足够满足大部分企业的数据量了,我们就以三层的B+树来说 我们首先清楚,mysql把每一页的内存大小化为了16k。我们把每一条数据所占的大小假定为1kb,1kb已经能存储很多字段了。
聚簇索引实现与非聚簇索引实现的区别
我们上章讲的B+树实现原理就是用的聚簇索引为例子来讲解。讲解二者的区别,我们首先对二者分别进行分析。 聚簇索引 ---- 特点: * 索引和数据保存在一个B+树中。 * 数据项是按照主键大小排列成的一
B+树实现原理
我们这里以InnoDB存储引擎为例。首先我们看一张图。 这个就是B+树了。 如果对于之前没接触过,或已经忘了的同学。乍一看这图,心里想这啥玩意哦。二叉树搜索树知道吧,这个就是基于他迭代过来的。我们首先
下一页