如表字段有:id name age
表 数 据:
id | 姓名 | 年龄 |
---|---|---|
1 | 张三 | 10 |
1 | 李四 | 20 |
update test set name = '张三1' where age = 10;
update test set name = '李四1' where age = 20;
对两条不同的记录进行修改,第一条记录更新未提交,第二条记录更新会显示在等待的状态。
当把第一条记录commit后,第二条记录也可以提交commit;
若在表test中添加索引age
update test set name = '张三2' where age = 10;
update test set name = '李四2' where age = 20;
第一条记录更新未提交,第二条记录更新不受影响
结论:
没有加索引是表锁,加了索引是行锁。(mysql)
行锁(oracal)