“谈谈如何理解索引?谈谈如何理解事务?”我来带你模拟面试~

102 篇文章 0 订阅 ¥19.90 ¥99.00

目录

索引

事务

面试官:“把原子性总结一下吧~”;

如果面试管继续问:“除了原子性之外,另外三个特性呢?”;

面试管引导你:“什么是并发执行呢?”。

面试管:“那隔离是为什么呢?”。

面试官:“为什么会‘打架’呢?”

        情况一:脏读

        情况二:不可重复读

        情况三:幻读

面试官:“那么如何解决脏读、不可重复读、幻读问题呢?”;

解决脏读:写加锁

解决不可重复读:读加锁

解决幻读问题:串行化

面试官:“既然有利有弊,真的遇到问题了你会如何处理呢?”;

事务的四种隔离级别

 在 mysql 数据库中,你是如何使用事务的?


如何解决这些高频面试题?

大致回答思路如下:

谈谈如何理解索引?

  • 索引是干什么的(解决了什么问题)
  • 索引付出的代价
  • 索引背后的数据结构

谈谈如何理解事务?

  • 事务是干什么的(从原子性切入)
  • 事务还有其他什么特点
  • 重点讲述隔离性,在并发事务下会有哪些问题,以及如何解决问题
  • MySQL的隔离级别有哪些,和上面的问题如何应对

有想法了吗?


索引

基本认识

1.索引的效果:本质上就是缩小扫描范围,避免全表扫描,可以加快查找效率;

2.索引的代价:索引实际上也是一张表,保存主键和索引字段,指向实体表的记录,因此不仅需要占用一部分空间,还在每次对表的索引字段进行增删的同时,还需要更新一下索引文件,牺牲了一定的开销.

3.背后的数据结构:B+树(N叉搜索树)

在什么条件下,我们会考虑给字段添加索引呢?

条件1:数据量庞大

条件2:该字段经常出现在where的后面,以条件的形式存在。即这个字段总是被扫描。

条件3:该字段很少的DML操作。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈亦康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值