看了该文章之后,很受启发,mysql在update时,一般也是先select。但注意,在Read Committed隔离级别下,如果没有使用索引,并不会锁住整个表, 还是只锁住满足查询条件的记录而已。使用索引的最佳方式是使用主键,如果我们知道主键的范围(只要是精确范围的超集就可以了),那可以在查询 ...
分类:
数据库 时间:
2019-01-04 12:38:30
阅读次数:
177
本文介绍了Kafka实现事务性的几个阶段——正好一次语义与原子操作。之后详细分析了Kafka事务机制的实现原理,并介绍了Kafka如何处理事务相关的异常情况,如Transaction Coordinator宕机。最后介绍了Kafka的事务机制与PostgreSQL的MVCC以及Zookeeper的原 ...
分类:
其他好文 时间:
2018-12-29 17:16:07
阅读次数:
187
一:CREATE TABLE `t` ( `id` int(11) NOT NULL, `c` int(11) DEFAULT NULL, `d` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `c` (`c`)) ENGINE=InnoDB;inser ...
分类:
其他好文 时间:
2018-12-29 13:51:34
阅读次数:
230
UNDO特性:避免脏读、事务回滚、非阻塞读、MVCC、崩溃恢复 事务工作流程(图2) MVCC原理机制 崩溃恢复:redo前滚、undo回滚 长事务、大事务:危害、判断、处理 UNDO优化:实现undo分离、收缩undo表空间 0、undo物理存储研究 1>ibdata第五个数据块(系统事务表)中存 ...
分类:
数据库 时间:
2018-12-27 03:16:52
阅读次数:
223
事务就是一组一起成功或一起失败的sql语句。事务还应该具备,原子性,一致性,隔离性和持久性。 一、事务的基本要素 (ACID) 1、原子性:事务开始后,所有的操作,要么全部成功,要么全部失败,不可能处于中间状态,事务是一个不可分割的整体,就像原子一样。 2、一致性:事务开始前和结束后,数据库的完整性 ...
分类:
数据库 时间:
2018-12-26 22:21:50
阅读次数:
216
innodb的事务隔离级别是可重复读级别且innodb_locks_unsafe_for_binlog禁用,也就是说允许next-key lock 实验来自网上. ( 如果你没有演示出来,请check order_id 是否是非unique key.) 如果你看不懂,请看后续文章. next-key ...
分类:
数据库 时间:
2018-12-26 11:34:41
阅读次数:
245
java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$ThymeleafDe... ...
分类:
编程语言 时间:
2018-12-26 00:38:01
阅读次数:
1817
mysql数据库中默认的隔离级别为repeat-read. innodb默认使用了next-gap算法,这种算法结合了index-row锁和gap锁。正因为这样的锁算法,innodb在可重复读这样的默认隔离级别上,可以避免幻象的产生。 innodb_locks_unsafe_for_binlog最主 ...
分类:
数据库 时间:
2018-12-26 00:34:32
阅读次数:
354
1.mysql事务有4个隔离级别,以及会出现的问题如下图: 2. 脏读: 开启事务A,B。事务A在还没有提交的情况下,假如第一次查询id=1的用户的age=24。事务B执行了update 表 set age = 100 where id = 1; B事务并没有提交,紧接着再次查询id=1的用户的ag ...
分类:
数据库 时间:
2018-12-25 15:20:37
阅读次数:
169
Mysql数据库的隔离级别有四种 1.read umcommitted 读未提交(当前事务可以读取其他事务没提交的数据,会读取到脏数据) 2.read committed 读已提交(当前事务不能读取其他事务没提交的数据,只能读取其他事务已经提交的数据,但会出现每次读取的数据都会不同) 3.repea ...
分类:
数据库 时间:
2018-12-22 16:29:41
阅读次数:
192