当前位置:  开发笔记 > 数据库 > 正文

如果有的话,ERP的最佳默认事务隔离级别是多少?

如何解决《如果有的话,ERP的最佳默认事务隔离级别是多少?》经验,为你挑选了1个好方法。

简短背景:我们刚刚开始使用Hibernate将ERP系统迁移/重新实现到Java,目标是使用该系统的50-100个用户的并发用户数.我们使用MS SQL Server作为数据库服务器,这对于这种负载来说已经足够了.

现在,旧系统根本不使用任何事务,并依赖于设置手动锁(使用标志)和释放它们的关键部分(例如库存变化).这就像手动交易管理.但有时数据不一致存在问题.在新系统中,我们希望使用事务来消除这些问题.

现在的问题是:什么是一个很好的/合理的默认事务隔离级别来使用ERP系统,给出约85%的OLTP和15%OLAP的使用?或者我应该总是根据每个任务决定使用哪个事务级别?

并提醒四个事务隔离级别:READ UNCOMMITTED,READ COMMITTED,REPEATABLE READ,SERIALIZABLE



1> Justin Cave..:

100次中的99次,读取提交是正确的答案.这可确保您只看到其他会话已提交的更改(因此,假设您正确设计了事务,结果是一致的).但它并没有强制执行可重复读取或可序列化的锁定开销(特别是在非Oracle数据库中).

偶尔,您可能希望运行一个报告,您愿意牺牲速度的准确性并设置读取未提交的隔离级别.这很少是一个好主意,但偶尔会有一个合理可接受的解决方法来锁定争用问题.

当您的流程需要在整个运行中查看一致的数据集时,无论当时其他事务正在执行什么操作,都偶尔会使用可序列化和可重复读取.将月末协调过程设置为可序列化可能是适当的,例如,如果存在大量过程代码,用户将在过程运行时进行更改的可能性以及过程需要的要求确保始终查看对帐开始时存在的数据.

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有