随笔分类 - 数据库
摘要:1. 什么是gap 2. gap锁或next-key锁的作用 简单讲就是防止幻读。通过锁阻止特定条件的新记录的插入,因为插入时也要获取gap锁(Insert Intention Locks)。 3. 什么时候会取得gap lock或nextkey lock 这和隔离级别有关,只在REPEATABLE
阅读全文
摘要:一、数据库事务隔离级别 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。 √: 可能出现 ×: 不会出现 注意:我
阅读全文
摘要:多版本并发控制技术已经被广泛运用于各大数据库系统中,如Oracle,MS SQL Server 2005+, Postgresql, Firebird, Maria等等,开源数据库MYSQL中流行的INNODB引擎也采用了类似的并发控制技术.本文就将结合实例来解析不同事务隔离等级下INNODB的MV
阅读全文
摘要:事务并发性理解 事务并发性,粗略的理解就是单位时间内能够执行的事务数量,常见的单位是 TPS( transactions per second). 那在数据量和业务操作量一定的情况下,常见的提高事务并发性主要考虑的有哪几点呢? 1.提高服务器的处理能力,让事务的处理时间变短。 这样不仅加快了这个事务
阅读全文
摘要:这里给出 mysql 幻读的比较形象的场景: users: id 主键 T1 :主事务,检测表中是否有 id 为 1 的记录,没有则插入,这是我们期望的正常业务逻辑。 T2 :干扰事务,目的在于扰乱 T1 的正常的事务执行。 在 RR 隔离级别下,1、2 是会正常执行的,3 则会报错主键冲突,对于
阅读全文
摘要:1、背景 MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,
阅读全文

浙公网安备 33010602011771号