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

2024-03-24

简短背景:我们刚刚开始使用 Hibernate 将 ERP 系统迁移/重新实现到 Java,目标是使用该系统的并发用户数为 50-100 个。我们使用 MS SQL Server 作为数据库服务器,这足以满足此负载。

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

现在的问题是:什么是好的/合理的default假设使用率约为 85% OLTP 和 15% OLAP,那么 ERP 系统使用的事务隔离级别是什么?或者我应该始终根据每个任务来决定使用哪个事务级别?

提醒一下,四种事务隔离级别:READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE


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

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

当您的进程需要在整个运行过程中查看一组一致的数据而不管其他事务当时正在做什么时,偶尔会使用可序列化和可重复读取。将月末对账流程设置为可序列化可能是合适的,例如,如果有大量过程代码,用户可能会在流程运行时进行更改,并且要求流程需要确保它始终看到协调开始时存在的数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ERP 的最佳默认事务隔离级别是多少(如果有)? 的相关文章

  • 为什么Mysql的Group By和Oracle的Group by行为不同

    为什么Mysql的Group By和Oracle的Group by行为不同 我多次发现 Mysql group By 功能和 Oracle 的 GroupBy 功能表现不同 很多时候我在Oracle中发现错误 这实际上是错误的查询 但是My
  • SQLAlchemy - 连接表关系上的 order_by

    我正在使用声明式 SQLAlchemy 并且有三个模型 Role Permission and RolePermission 在我的Role模型 我有以下内容 class Role Base name Column u NAME VARCH
  • 如何确定一个日期范围是否出现在另一个日期范围内的任何时间?

    我有一个事件表 指定日期范围start date and end date字段 我有另一个在代码中指定的日期范围 它将当前周定义为 week start 和 week end 我想查询本周的所有活动 这些案例似乎是 活动在一周内开始和结束
  • 实体框架将本地数据添加到数据库中的列表

    我对实体框架相当陌生 我正在使用此方法来查询我的数据库 var context new StudioEntities var results context tblStudios Select u gt new u Standort u N
  • 使用 insert into ... select 会导致 select 附近的语法不正确,为什么?

    如何在 INSERT 操作中进行 SELECT insert into tableX a id b id VALUES SELECT service id FROM tableY WHERE id 10 2 但服务器返回语法错误 为什么 S
  • Oracle使用with子句创建表

    我可以从使用形成的查询创建表吗with clause Sure CREATE TABLE t AS WITH some data AS SELECT 1 as some value FROM dual UNION ALL SELECT 2
  • SQL版本控制方法

    SO 有几个关于 SQL 版本控制的问题 网上有很多资源 但我找不到完全涵盖我想要做的事情的东西 首先 我在这里谈论一个方法论 我熟悉各种源代码控制应用程序 也熟悉 Red Gate 的 SQL Compare 等工具 并且我知道如何编写应
  • 获取两个不同日期列的计数并按日期分组

    我有包含两个 DATE 列的表 TS customer 和 TS verified 我正在寻找一种方法来获取结果 在第一列中 我有某人创建用户 TS customer 或某人经过验证 TS verified 的日期 在第二列中 我希望 co
  • 更新表并返回旧值和新值

    我正在编写一个 VB 应用程序 用于清理 DB2 数据库中的一些数据 在一些表中我想更新整个列 例如帐号列 我正在将所有帐号更改为从 1 开始 并在列表中向下递增 我希望能够返回旧帐号和新帐号 这样我就可以生成某种可以引用的报告 这样我就不
  • PostgreSQL 中的 LATERAL JOIN 和子查询有什么区别?

    自从 PostgreSQL 推出以来 它具备了以下功能 LATERAL连接 我一直在阅读它 因为我目前为我的团队进行复杂的数据转储 其中有许多低效的子查询 使整个查询需要四分钟或更长时间 我明白那个LATERALjoins 可能可以帮助我
  • 如何获取Oracle中命名事务的名称?

    我想在触发器中使用事务的名称 以便将其写入列中 我尝试了这个 在 SQL Developer 中 set transaction name hello select DBMS TRANSACTION LOCAL TRANSACTION ID
  • 将日期格式(在数据库或输出中)更改为 dd/mm/yyyy - PHP MySQL

    MySQL 将日期存储在我的数据库中 默认情况下 为 YYYY MM DD 我的日期的字段类型是 DATE 我不需要任何时间存储 有没有一种简单的方法可以默认更改它到 DD MM YYYY 我在两个不同的表中调用不同的日期 并且在我的任何代
  • 如何获取列中每个不同值的计数? [复制]

    这个问题在这里已经有答案了 我有一个名为 posts 的 SQL 表 如下所示 id category 1 3 2 1 3 4 4 2 5 1 6 1 7 2 每个类别编号对应一个类别 我将如何计算每个类别出现在帖子中的次数一条 SQL 查
  • 在 django 中创建“历史”类型模型的最佳方法是什么?

    我想为我的 Django 应用程序创建一个类似于 Django 管理员的 最近操作 的功能 以便存储其他模型的历史信息 例如 假设我有两个模型 分别称为 Book 和 Author 我想要第三个模型来存储信息 例如由谁以及何时对模型中的给定
  • 在 SQL 查询中使用 fn_Split

    我一直在努力争取fn Split在我的查询中正常工作 我到处搜索 并在这里找到了似乎接近我需要的答案 但我仍然无法使其发挥作用 基本上我试图返回与数组中的条目匹配的记录 我已经有了一个与我的数据库一起使用的表值函数 如下所示 Select
  • oracle 数据透视表中的列

    示例选择 select from select 1 cnt 2 sm 55 name 12 month 2011 year 12 2011 mnth txt from dual union all select 1 cnt 2 sm 54
  • Spring Boot如何加入自定义查询

    我需要创建一个端点 该端点按州返回人口普查数据以及城市列表 我目前使用两个端点来获取此数据 目前回应 自定义查询一 censusByState id 1 code 11 name Rond nia statePopulation 18152
  • 如何在 SQL 中的时区中使用“America/New_York”

    我有这段代码在 SQL 中运行良好 但是我想使用不同的时区格式 例如 America New York 代替 US Eastern Standard Time SELECT TODATETIMEOFFSET CAST CURRENT TIM
  • SQL Server 数据库中的表具有互斥外键的最佳实践

    在这里 我正在寻找针对以下问题的优缺点的最佳解决方案 Entity1 E1 pk 与其他不同的列 Entity2 E2 pk 与其他不同的列 Entity3 E3 pk 与其他不同的列 我需要创建之间的关系Entity1 and Entit
  • 如何在 where 子句中使用别名? [复制]

    这个问题在这里已经有答案了 可能的重复 在 WHERE 子句中引用列别名 https stackoverflow com questions 8370114 referring to a column alias in a where cl

随机推荐

  • 4 层(对于 N 层)架构示例?

    最近 我的一个朋友向我询问 N 层架构 我能够通过示例向他解释 1 2 和 3 层架构 但当我想给出超过 3 层的例子时 我就陷入了困境 我用谷歌搜索并大量寻求帮助 但找不到任何像样的例子 事实上 它被命名为 N 层 这让我认为 N 可以是
  • 使用升压间隔_map

    试图遵循boost party我制作了这个示例代码 include boost icl interval hpp include boost icl interval map hpp include
  • 为什么Python中列表元素查找的复杂度是O(1)?

    今天在课堂上 我们了解到从列表中检索元素是O 1 在Python中 为什么会这样呢 假设我有一个包含四个项目的列表 例如 li perry 1 23 5 s 这些项目在内存中具有不同的大小 所以不可能获取内存位置li 0 并添加每个元素大小
  • 相似列出现的次数

    我是 SQL SERVER 新手 需要您的建议 我有一张大桌子 上面有商店信息 这是 bench id 列 bench id 31 51 51 61 61 61 71 71 我创建了另一个包含两列的小表 distinct bench num
  • BatchGetItem 或 Query DynamoDb - 按范围查询

    我有一个名为 User 的表 它有一个用户 ID 的哈希键和一个组织 ID 的范围键 如何返回组织 ID 为 3 的所有用户 顺便说一句 这是一个 Lambda 函数 这段代码给了我一个错误 console log Loading even
  • YUY2 与 YUV 422

    我无法理解两者之间的确切区别 从研究来看 更多地讨论两者是不同的 但少数人似乎将它们分组在 4 2 2 抽样方案下 YUV 422 I 和 J 版本 有一个亮度平面 Y 和 2 个色度平面 U V 然而 在 I422 中 色度平面 蓝色和红
  • 如何在 React.js 中解析 FOUC

    我已经从 create react app 构建了react js 网站 但在生产模式下 存在 FOUC 因为样式是在 html 渲染后加载的 有什么办法可以解决这个问题吗 我一直在谷歌搜索答案 但还没有找到合适的答案 FOUC FOUC
  • 如何在WPF中绘制平滑的曲线?

    我有三个已知位置 目前我正在驾驶两条线路 如下所示 Line line new Line StrokeThickness 3 Stroke lineColor X1 MyX Y1 MyY X2 MyX Y2 MiddleY Graph Ch
  • Canvas 绘制在 Safari 上需要花费大量时间,但在 Chrome 或 FF 上则不需要

    我正在我的网站上制作万花筒 它所做的只是获取一张图像 通过拖放或加载时的默认图像 并将其复制 10 次 万花筒的每个切片复制一次 鼠标移动时 调整切片的旋转和缩放以达到所需的效果 在 Google Chrome 和 Firefox 上 它可
  • Azure 上的 ASP.NET MVC 5:对于 SVG 文件,“您正在查找的资源已被删除...”

    我创建了一个包含一些视图和控制器的 MVC 5 网页 添加了一些图像 gif 和 svg 并验证它主要在本地工作 图像显示出来 一切都按预期进行 当我部署到 Azure 时 gif 图像加载正常 但 svg 图像给出错误The resour
  • Javascript 如果对象中存在值?

    我有一个对象 var car company Honda year 2011 Model Brio 我想知道是否存在继承方法 这是正确的短语吗 来检查给定对象中是否存在值 有点像x hasOwnProperty or if x in car
  • 为什么 JavaScript 的这两部分不等价?

    在 jquery 1 4 2 ff 3 6 6 中 以下代码生成三个 div 它们按照您的预期将消息写入 Firebug 控制台 但是 如果您取消注释循环并注释掉手动执行的 3 行 则它将不起作用 将鼠标悬停在任何 div 上都会导致 th
  • 在VIM中插入到行尾

    So for a long time I ve had a bad habit of going to the end of a line hitting the i key and then hitting the right arrow
  • includeAll path="" 在 3.5.3 中不起作用,使用 java -jar 方法

    我们遇到一个主要问题 即相对路径在databaseChangeLogMaster xml使用 includeAll 时的文件 includeAll 仅适用于绝对路径 示例如下 下面不起作用
  • 允许搜索机器人在没有会话 ID 的情况下抓取您的网站

    谷歌的 state 允许搜索机器人在没有会话 ID 或跟踪其网站路径的参数的情况下抓取您的网站 这些技术对于跟踪个人用户行为很有用 但机器人的访问模式完全不同 使用这些技术可能会导致网站索引不完整 因为机器人可能无法消除看起来不同但实际上指
  • 计算给定字符集的所有组合,以进行强力匹配?

    在实践多线程时 我希望简单地构建一个应用程序 可以计算字符集的所有可能组合 即强力破解 匹配 并在线程之间分配工作 以真正测量并直接了解线程如何影响算法在不同系统上的时间 到目前为止 计算这个的算法对我来说是一个巨大的挑战 在最近的一个线程
  • 架构配置无效:“model”不是数组“characters”中的有效类型

    我正在尝试创建架构子文档 但收到上面列出的错误 有问题的模式看起来像这样架构导致问题 const mongoose require mongoose const Schema mongoose Schema const CharacterS
  • 从 xargs 运行时,如何避免 sed 出现“无输入文件”错误?

    我有这个 shell 脚本来更新我的配置文件中的 IP 地址 任何匹配的 old address pattern必须改为 new address grep rl old address pattern etc xargs sed i s o
  • 如何允许或阻止 Headless chrome 上的通知警报

    我正在运行我的量角器测试headlesschrome 我不确定无头chrome是否会弹出通知警报 如果弹出 如何允许和阻止它们 对于非无头 Chrome 我添加了此中给出的解决方法post https github com angular
  • ERP 的最佳默认事务隔离级别是多少(如果有)?

    简短背景 我们刚刚开始使用 Hibernate 将 ERP 系统迁移 重新实现到 Java 目标是使用该系统的并发用户数为 50 100 个 我们使用 MS SQL Server 作为数据库服务器 这足以满足此负载 现在 旧系统根本不使用任