首页 > 编程知识 正文

oracle默认事务隔离级别,innodb默认事务隔离级别

时间:2023-05-05 21:07:49 阅读:176677 作者:4198

定制如何处理事务隔离级别问题的特定方法数据库操作过程使用spring注释更改隔离级别

面临的问题

在主线程中打开了一个子线程。 主线程和子线程都有事务。 接下来,您需要在子线程中获取刚刚在主线程中添加到数据库中的数据信息。 数据库正在使用mysql。 缺省隔离级别为可重复读,因为主线程的事务未提交,所以子线程可能无法获取刚添加到主线程的数据。 招致失败。

处理思路将子线程的事务隔离级别从缺省级别临时调整为读未提交的隔离级别

具体方法数据库操作过程将打开第一个查询窗口,并将当前查询的事务隔离级别更改为未读取且未提交。 具体的修改命令和流程如下。 #显示当前事务隔离级别//显示当前事务级别: SELECT @@session.tx_isolation; -必须处于可重新读取的级别。 设置读命令级别。 setsessiontransactionisolationlevelreaduncommitted; read committed级别设置: setsessiontransactionisolationlevelreadcommitted; repeatable read级别设置: setsessiontransactionisolationlevelrepeatableread; 可序列化级别设置: setsessiontransactionisolationlevelserializable; 设置完成后,再次执行查询。 您必须在自己设置的级别上打开新的查询窗口作为第二个查询。 在第二个查询窗口中启动事务并修改数据。 但是,如果不返回到第一个窗口查询窗口2中更改的数据,则可能会执行查询以验证临时事务隔离级别更改是否有效。 使用spring注释更改隔离级别要更改mysql中事务隔离级别的方式,只需将其添加到声明的注释中即可

@ transactional (isolation=isolation.read _ uncommitted ) )。

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