SQL TRANSACTON
SQL TRANSACTION
事务 TRANSACTION
1 |
|
Lost Update
两个事务同时更新同一个表
只需要用锁就能解决
Dirty Reads
另外一个线程读取了被未被提交的数据导致数据出错
使用隔离级别(READ COMMITTED)进行解决,事务只能读取已经提交的数据
Non-repeating Reads
读取一个数据却获得两个不同的结果
使用隔离级别(REPEATABLE READ),即使数据发生了改变,也会使用第一次读取到的数据快照进行处理
Phantom Reads
读取事务完成后,数据才更新成功
隔离级别(SERIALIZABLE),查询事务会等待更新事务完成以后才进行
1 |
|
死锁
和之前学C++多线程编程的一样,两个线程你等我释放,我等你释放,导致大家都没得继续下一步就是死锁
SQL TRANSACTON
https://www.kirisamekano.com/2023/08/27/SQL9/