2021年2月3日
摘要: 快照读 (snapshot read):读取的是记录的可⻅版本 (有可能是历史版本),不⽤加锁(共享读锁s锁也不加,所以不会阻塞其他事 务的写) 当前读 (current read):读取的是记录的最新版本,并且,当前读返回的记录,都会加上锁,保证其他事务不会再并发修改这条 记录 阅读全文
posted @ 2021-02-03 15:06 Wang梦怡 阅读(305) 评论(0) 推荐(0) 编辑
摘要: MySQL InnoDB存储引擎,实现的是基于多版本的并发控制协议——MVCC (Multi-Version Concurrency Control) 注:与MVCC相对的,是基于锁的并发控制,Lock-Based Concurrency Control MVCC最⼤的好处:读不加锁,读写不冲突。在 阅读全文
posted @ 2021-02-03 15:05 Wang梦怡 阅读(62) 评论(0) 推荐(0) 编辑
摘要: Serializable (串⾏化):可避免脏读、不可重复读、幻读的发⽣。 Repeatable read (可重复读):可避免脏读、不可重复读的发⽣。 Read committed (读已提交): 可避免脏读的发⽣。 Read uncommitted (读未提交):最低级别,任何情况都⽆法保证。 阅读全文
posted @ 2021-02-03 15:02 Wang梦怡 阅读(176) 评论(0) 推荐(0) 编辑
摘要: RANGE分区:这种模式允许将数据划分不同范围。例如可以将⼀个表通过年份划分成若⼲个分区 LIST分区: 这种模式允许系统通过预定义的列表的值来对数据进⾏分割。按照List中的值分区,与RANGE的区别是,range分区 的区间范围值是连续的。 HASH分区 : 这中模式允许通过对表的⼀个或多个列的 阅读全文
posted @ 2021-02-03 15:01 Wang梦怡 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 1、B+的磁盘读写代价更低。 1B+的内部结点并没有指向关键字具体信息的指针,因此其内部结点相对B树更⼩。 如果把所有同⼀内部结点的关键字存放在同⼀盘块中,那么盘块所能容纳的关键字数量也越多。⼀次性读⼊内存中的需要查找的 关键字也就越多。相对来说IO读写次数也就降低了。 2、B+-tree的查询效率 阅读全文
posted @ 2021-02-03 14:58 Wang梦怡 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 数据索引的存储是有序的; 在有序的情况下,通过索引查询⼀个数据是⽆需遍历索引记录的; 极端情况下,数据索引的查询效率为⼆分法查询效率,趋近于 log2(N); 阅读全文
posted @ 2021-02-03 14:56 Wang梦怡 阅读(55) 评论(0) 推荐(0) 编辑