数据库
首页 > 数据库> > MySQL 知识点

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