3 个回答
事务隔离级别方案:
1、可重复读(REPEATABLE READ):在该隔离级别下,一个事务在执行过程中多次读取同一数据时,会看到相同的数据值,即使其他事务对该数据进行了修改并提交,也不会影响当前事务的读取结果,从而避免了脏读、不可重复读等问题。
2、串行化(SERIALIZABLE):最高的隔离级别,所有事务依次逐个执行,避免了并发冲突,但性能较差,一般在对数据一致性要求极高的场景下使用。
发布于:3个月前 (01-17) IP属地:四川省
乐观锁方案:
1、版本号机制:在表中添加一个版本号字段,每次更新数据时,版本号都会递增。在更新数据时,先查询出当前记录的版本号,然后在更新语句中加入版本号的判断条件,如果版本号与查询出的一致,则更新成功,否则更新失败。
2、时间戳机制:类似于版本号机制,使用时间戳字段记录数据的最后更新时间,在更新数据时,先比较时间戳,只有当时间戳与查询出的一致时才允许更新。
发布于:3个月前 (01-17) IP属地:四川省
悲观锁方案:
1、共享锁(S锁):允许事务对数据进行读取操作,但不允许其他事务对该数据进行修改操作,在执行SELECT语句时可以使用LOCK IN SHARE MODE语句添加共享锁。
2、排他锁(X锁):事务获取排他锁后,其他事务既不能对该数据进行读取操作,也不能进行修改操作,在执行UPDATE、DELETE等语句时会自动添加排他锁,也可以在SELECT语句中使用FOR UPDATE语句添加排他锁。
发布于:3个月前 (01-17) IP属地:四川省
我来回答
您需要 登录 后回答此问题!