2022年5月7日
mysql 系列问题
1.如何算B+树的高度
由于一个页是16k,主键如果是bigint=8B,加上地址指针6B,那么可以存16k/14B=1170行数据的指针,那么两层的话就可以存1170*16k/单条数据大小,假设一条数据是1k,那么就是18724 假设是三层,1170*1170*16K/1K=2000w+ 所以需要看单条数据大小来看
2.为什么hash用的少
mysql是自适应的hash,不能干预。hash不支持范围查询
3.事务如何实现
1.redolog 用来持久话 2.undolog 用来回滚
4.不符合最左前缀、隐式转还、走索引效率反而不高导致索引失效
走索引效率反而不高,索引设置的不合理,一些重复的字段设置了索引之类的。
5.分布式怎么设置id
1.uuid 2.修改步长的自增,提前规划 3.redis、zk、mongodb等来设置 4.雪花算法
6.一致性hash
如果使用hash分片,在扩容或者宕机时候,会存在较多的数据迁移。使用一致性hash的话可以减少这种数据的数量。
(26条消息) 面试必备:什么是一致性Hash算法?_Java后端技术的博客-CSDN博客_一致性hash
7.覆盖索引
select 的字段在索引中直接命中了,不需要回表操作