从头开始学分库分表-------事务
目录
事务的四个特性
原子性:要么全做,要么全不做。
一致性:要么全部成功,要么全部失败
隔离性:一个事务在操作的时候,不受其它事务的干扰,各个事务之间是独立的
永久性:事务提交对数据库的影响是永久的
并发事务带来的问题
脏读:一个事务访问数据并修改了数据,但是还没有提交。另外一个事务就读到了修改后的数据
幻读:事务1(T1)第一次读到了几条数据,事务2(T2)又提交了几条数据。随后,T1又读取数据库的时候,发现了之前不存在的数据,好像发生了幻觉一样
不可重复读:T1在一个事务内多次读相同的某个数据,发现这个数据已经变了。原因是这个数据被另外的事务修改了
不可重复度和幻读区别:
不可重复读的重点是修改,幻读的重点在于新增或者删除
事务的隔离级别
读未提交:允许读尚未提交的数据。可导致脏读、幻读、不可重复读
读已提交:允许读取已提交得数据。可阻止脏读,不能阻止幻读、不可重复读
可重复读:同一个事务多次读取的数据是相同得,除非被自己修改。可以阻止脏读、不可重复读,但仍然可能出现幻读
可串行化:最高隔离级别,所有事务按顺序执行,各个事务之间无法干扰,可防止脏读、幻读、不可重复读