vlambda博客
学习文章列表

月薪5万的大厂MySQL面试题,80%的人答不上来!你敢试吗?| 附详细解答


某大厂面试题:

索引,用于提升数据库的查找速度哈希(hash)比树(tree)更快,为什么我们一般使用B树索引呢?


加速查找速度的数据结构,常见的有两类:

1、哈希,例如HashMap,查询 / 插入 / 修改 / 删除的平均时间复杂度都是O(1)

2、树,例如平衡二叉搜索树,查询 / 插入 / 修改 / 删除的平均时间复杂度是O(lg(n))


可以看到,不管是读请求,还是写请求,哈希类型的索引,都要比树型更快一些。


那为什么,索引结构要设计成树型呢?


使用树型索引,和数据库的查询需求相关。


对于这样一个单行查询的SQL需求:

select * from user where name='孙悟空'

确实是哈希索引更快,因为每次都只查询一条记录。


但是对于这样一些查询需求:


  • 分组:group by

  • 排序:order by

  • 比较:<、>


哈希型的索引,时间复杂度会退化为O(n),而树型的“有序”特性,依然能够保持O(log(n)) 的高效。


比如,对于以下常见的查询,哈希型索引都需要遍历所有记录才能得出结果。


查询价格大于10元的所有商品:

select * from goods where price>10


查询考试分数在60-80分之间的学生:

select * from student where grade>60 and grade<80


月薪5万的大厂MySQL面试题,80%的人答不上来!你敢试吗?| 附详细解答


如果对于某一列的查询都是等值查询,可以使用哈希索引


例如:用户表里的password,通常,我们只会这样查询:

select * from user where password='xxxx'

这时hash索引可以更快速的命中。


本文测试于 MySQL 5.6


月薪5万的大厂MySQL面试题,80%的人答不上来!你敢试吗?| 附详细解答


MySQL天天都用,然而,一到面试或升职答辩,就...


月薪5万的大厂MySQL面试题,80%的人答不上来!你敢试吗?| 附详细解答


从年薪20万到年薪100万

要想实现大跨越,MySQL必须要整透


月薪5万的大厂MySQL面试题,80%的人答不上来!你敢试吗?| 附详细解答

互联网大厂数据库实践,真实案例

亿级海量数据MySQL架构设计


前迅雷大数据CTO - 张海剑

为你解析架构师级MySQL最佳实践


百万年薪架构师必备能力

升职加薪,跳槽面试必知必会!



月薪5万的大厂MySQL面试题,80%的人答不上来!你敢试吗?| 附详细解答


和其他课程不同,我们着眼于实战。通过讨论MySQL工程实践中最常见的痛点问题,构成课程主线。课程中的很多主题,都是我们在10多年的实际工作中积累的真实案例从这些高频问题出发,用诙谐生动的方式,带你掌握MySQL的最佳实践。


如果你正在使用MySQL,CRUD写得很溜,不知道这个语句是不是最优的?


如果你听说过一些数据库的最佳实践,却不知道为什么要这样?


如果你的数据库偶尔会“发飙”,你却不知道如何定位、排查问题......


那么,这门课就是你要找的课程!


01

MySQL高性能读写的秘密

02

你真的知道索引吗?(上)

03

你真的知道索引吗?(下)

04

你知道怎么给字符串字段加索引吗?

05

建了索引,为什么查询还这么慢?

06

MySQL为什么会选错索引?

07

表数据删掉一半,为什么表文件大小不变?

08

不小心误删了数据,除跑路还能怎么办?

09

count(*)为啥这么慢?怎么破?

10

MySQL最佳实践:到底可不可以用join?

11

用户中心,1亿用户,数据库怎么设计?

12

订单中心,10亿数据,怎么整?

13

更多...


月薪5万的大厂MySQL面试题,80%的人答不上来!你敢试吗?| 附详细解答
主讲人
前迅雷大数据CTO

前迅雷大数据,迅雷金融CTO

前迅雷资深开发工程师

阿里云MVP

15年互联网老兵


原价199的课程,限时0.99

(限前200名)


报名方法1:

长按二维码,加课程顾问小姐姐

报名方法2:


关注后,添加客服小姐姐报名

立即学习,获取高薪!