MySQL 知识点

1、区固定是1M;page size 16K,一次IO是一页;InnoDB存储引擎的最小存储单元是页,页可以用于存放数据也可以用于存放键值+指针,在B+树中叶子节点存放数据,非叶子节点存放键值+指针;树的高度越高,IO则越多,所以通常为2-3层;页的大小设置小的话,则需多次IO

2、磁盘最小单位是扇区(512byte,现在有4K),对于系统层面则抽象成块(block),块逻辑组成是扇区,目前是4K

3、B-tree、B+ tree 比较

4、order by + limit,order的字段不同时绝对有序,相同时无法确定,若有相同值,则加上第二个字段进行排序

5、行锁怎么实现

6、ABA问题,CAS(compare and set)无法解决ABA问题,因为它只关注值,却没关注值的变化。业务层面可以添加版本号或者时间戳来解决,即乐观锁的形式;DB层面可以在select加for update;分布式的话可以在redis加锁。

  select ... for update 要在主键上使用才能有行锁,不然会锁住整个表

7、回表

转载于:https://www.cnblogs.com/linguoguo/p/11377845.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值