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 要在主键上使用才能有行锁,不然会锁住整个表
标签:知识点,tree,扇区,键值,IO,MySQL,存放数据,select 来源: https://www.cnblogs.com/linguoguo/p/11377845.html