【问题标题】:Can two transactions modify the same row at the same time in Oracle?Oracle中两个事务可以同时修改同一行吗?
【发布时间】:2021-07-25 14:37:22
【问题描述】:

如果两个事务尝试同时修改同一行会发生什么?通常,一旦行被修改,另一个事务会一直等待,直到第一个事务执行提交或回滚。但是如果他们同时发送更新请求呢?

【问题讨论】:

  • 这种行为正是您所描述的正常情况。尽管两个事务同时发送它们的更新,但它们中的一个将在另一个之前执行。

标签: oracle query-optimization database-administration sqlperformance oracle19c


【解决方案1】:

答案是否定的。两个事务不能同时修改同一行。 事务是访问并可能修改数据库内容的单个逻辑工作单元。事务使用读写操作访问数据。 为了保持数据库中的一致性,在事务之前和之后,遵循某些属性。这些被称为 ACID 属性。

要详细了解 Oracle 如何实现锁,您可能需要阅读事务隔离级别 oracle 提供、闩锁、锁和 ITL。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-23
  • 1970-01-01
  • 1970-01-01
  • 2019-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多