Inodb 一页16kb 一页多行
采用b+树存储数据 叶子节点间 双向链表
存储主键和数据,非叶子节点存储主键和指针
根节点也就是目录 放在内存中 第一页满了copy第一页 原第一页作为目录
除主键索引外,其他非聚集索引,建立b+树存储主键。使用非主键索引 先根据条件找到主键 再从主键索引中找到数据,也叫回表。
B+树比平衡二叉树 存储单元多 高度低 查询开销小。遍历叶子节点可查到全部数据。查数据不需要遍历父级节点。
事务隔离级别
1.读未提交 脏读
2.读已提交 不可重复读
3.可重复读 幻读
4.串行化
2和3依赖版本链使用mvcc思路 解决并发下的读写问题。
readview 当前活跃事务id数组
可重复读 只在第一次初始化readview 后面一直使用
读已提交 每次查询都会建立新的readview数组。
事务回滚:隐藏列 roll_pointer 指针,每次对某条记录进行改动时,指针指向上个版本信息
explain 主要看 type key extra 三个参数
网友评论