首页 > 编程知识 正文

高并发数据库,数据库是如何解决并发问题

时间:2023-05-06 05:07:31 阅读:167257 作者:3944

数据库中常见的并发操作一致性问题包括丢失的更改、无法读取、读取“脏”数据和模糊读取。

1 .丢失的修正:一个东西的更新涵盖了另一个东西的更新。 例如,假设事物a和b读取并修改了相同的数据,b提交的结果破坏了a的提交结果,a的修改丢失。

2 .不能重复。 一个事物把同一个数据读出两次,两次读出的数据不一致。 不可重复读取是指事物a读取数据后,事物b执行更新操作,事务a不能再现上次的读取结果。

a .事物a读入某个数据后,事物b对其进行修正,事物a再次读入数据时,得到与上次不同的值。

b .事物a在一定条件下从数据库读取某种数据后,事物b删除其一部分记录,当a再次在同样条件下读取时,发现某记录消失。

3 .脏读:一个事物读取了另一个事物未提交的数据。 阅读“肮脏”的数据是指事物a修改某个数据,然后将其写回磁盘。 如果事物b读了相同的数据后,A因某种原因被取消,A修改的数据会恢复为原来的值,如果B读取的数据与数据库的数据不一致,B读取的数据就会成为“肮脏”数据或非法数据。

4 .幻读)一个事务在相同查询条件下重新读取了以前检索到的数据,而另一个事务插入了满足该查询条件的新数据,这种情况称为幻读。

a .事物a在一定的条件下从数据库中读取了某些数据记录后,事物b插入了一些记录。 b再次在同样条件下读取数据时,发现增加了一些记录。 (也称为幻影读法。

造成上述三种数据不一致的主要原因是同时操作破坏了事物的隔离性。 并发控制是指以正确的方式调度并发操作,避免数据不一致,使一个事物的执行不受其他事物的干扰。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。