2016 - 2024

感恩一路有你

多数据源事务不生效 使用数据库连接池,怎么解决多个用户并发的向数据库中插入数据?

浏览量:1173 时间:2021-03-11 02:25:20 作者:admin

使用数据库连接池,怎么解决多个用户并发的向数据库中插入数据?

SQL多用户访问数据库实际上是事务并发,这将导致以下问题:

1。脏读:一个事务读取另一个事务尚未提交的数据。事务1:更新数据事务2:读取事务1的更新记录。事务1:调用commit提交。此时,事务2读取的数据是存储在数据库内存中的数据,称为脏读。读取的数据是脏数据。脏读是指当一个事务正在访问数据并修改数据,但修改尚未提交到数据库时,另一个事务也会访问该数据并使用该数据。因为此数据是未提交的数据,所以另一个事务读取的数据是脏数据,并且基于脏数据的操作可能不正确。

2. 不可重复读取:在同一事务中,同一数据读取两次,内容不同。事务1:查询记录。事务2:更新事务1查询的记录。事务2:调用commit来提交。事务1:再次查询最后一条记录。此时,事务1查询相同的数据两次,并且内容不同,这称为不可重复读取。

3. 虚读:在同一个事务中,如果对同一个操作读两次,则记录数会有所不同。事务1:查询表中的所有记录。事务2:插入一条记录。事务2:调用commit来提交。事务1:再次查询表中的所有记录。此时,事务1两次查询不同的记录,这称为非真实读取

多数据源事务不生效 spring动态数据源事务 mybatis多数据源事务管理

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。