标签 ‘ mysql

Innodb之快照读原理实现

作者:南乡清水 

1 Innodb MVCC组成

1. 1 为何使用MVCC实现快照读

innodb存储引擎的快照读是基于多版本并发控制 MVCC 和 undolog 实现,通过 MVCC 机制提高系统读写并发性能,快照读只发生于 select 操作,但不包括 select … lock in share mode, select … for update    

  • 提高并发的思路

并发数据一致性通常实现: 锁 + 多数据版本
提高并发读的思路: 通过共享锁保证读读并发,独占锁实现读写互斥
提高并发读写的思路: 一致性折衷,通过数据多版本控制,读使用快照版本,读写不互斥,提高读写并发能力

阅读全文

MySql大表分页(附独门秘技)

问题背景

MySql(InnoDB)中的订单表需要按时间顺序分页查询,且主键不是时间维度递增,订单表在百万以上规模,此时如何高性能地实现该需求?

注:本文并非主要讲解如何建立索引,以下的分析均建立在有合适的索引的前提下

阅读全文

return top