mysql高并发写入 MYSQL-Innodb下,update的并发是否会产生脏数据?

MYSQL-Innodb下,update的并发是否会产生脏数据?在MySQL并发数据更新的情况下,通常不会添加脏数据。但是,有一种情况不排除,即如果程序逻辑是判断它是否存在,就更新它,如果它不存在,就

MYSQL-Innodb下,update的并发是否会产生脏数据?

在MySQL并发数据更新的情况下,通常不会添加脏数据。但是,有一种情况不排除,即如果程序逻辑是判断它是否存在,就更新它,如果它不存在,就添加新的数据。在这种情况下,如果没有唯一索引约束,将生成脏数据。

事实上,这种情况类似于并发事务的脏读。

在并发情况下,如果事务的隔离级别太低(未提交读取),则可能会发生脏读取,即一个事务读取另一个事务的未提交更新数据。也可以在撤销事务时覆盖另一个事务的更新结果,即丢失更新。