mysql-lock的问题

脏读--一个事务中select多次结果不一样。


不可重复读(MySQL定义为幻读)--一个事务中select多次结果(其他事务未commit之前数据都一样)不一致。

脏读和不可重复读的区别:脏读是未commit就读取到数据不一样,不可重复读是其他事务已经commit后,但自己的事务还没有commit,读取的数据不一致。

丢失更新

数据库本身不会出现丢失更新的问题;

but  实际业务中会存在,比如银行转账的问题,一个用户多个中断同时登录,此时账户余额为10000,用a终端转9000,因为网络和数据的等待,此时用b终端转1元,此时账户余额被修改为9999的问题。

解决方法:将事务的全部变为串行化。

原文地址:https://www.cnblogs.com/liuer-mihou/p/13408291.html