1.事务的四大特性
原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、
持久性(Durability)。
原子性:就是操作的纯粹性,一个事务中的所有操作成功或失败。即事务操作的纯粹性,最小单元的完整性。
一致性:事务操作预期和结果保持一致。
隔离性:就是一种防止事务污染的一种机制。
持久性:数据一旦提交,写入磁盘。
锁的作用:资源竞争、防止污染(数据锁,程序锁)
事务的隔离级别作用:避免数据、程序、变量出现一定的污染现象。
2.mysql的行锁和表锁
例如我们的表是这样的(id是主键索引),模拟现象:非索引更新会由表锁升级为行锁
分别执行
1.执行更新操作,事务未提交,
set autocommit=0;
update t_user t set password='789' where t.username='2'
2.测试其他事务性操作,发现,一直处于等待状态,说表发生了表锁,
insert into t_user (id,username,password) VALUES('12','123','456')