ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

隔离级别

假设一个程序中的某个事务更新了企业级地理数据库中的数据,但是在事务提交前,另一个程序读取了相同数据。 第二个程序将读取未提交的新数据,还是将读取旧数据? 答案取决于该事务的隔离级别。

如果该事务允许其他程序读取未提交的数据,第二个程序将读取更新后的数据。 这可能会提高性能,因为第二个程序不必等到事务结束就能读取数据。 但存在一个取舍问题:如果第二个程序读取的数据不是最终提交的数据,它读取的可能是不正确或不存在的数据。

为了让用户做出最适合应用的选择,DBMS 提供了用于定义如何将后续进程与其他并发执行进程相隔离的隔离级别。 隔离级别可由数据库管理员进行设置并可应用于数据库中的所有事务。 也可以在应用程序中或在提交各个事务之前设置。 隔离级别指定以下内容:

  • 应用程序读取和更新的行对于其他并发执行进程的可用程度
  • 其他并发执行应用程序进程中的更新对于应用程序的可用程度

DBMS 允许设置四个隔离级别中一个,这四个隔离级别从最低到最高在下面列出。 每个级别均会增加前一个级别的功能。 较高的隔离级别提供较高程度的数据完整性,但以降低并发性为代价,因为锁定的持续时间更长。

未提交读取:这是并发事务中的最低隔离级别。 事务可以读取并发事务已更改但尚未提交的数据。

提交后读取:事务只会读取已提交的数据,不会读取未提交的数据。

可重复读取:放置一个附加限制,在事务过程中多次读取相同的行时应用该限制。 这可以确保在随后读取相同的行时,它们保持不变。

序列化:该隔离级别用于为并发事务提供最高级别的隔离。 事务中的所有读取操作只能看到事务开始之前提交的数据,而不会看到在事务执行期间提交的并发事务更改。

您的 DBMS 可能会以其他名称来指代这些隔离级别。 各个隔离级别在不同 DBMS 中的作用类似,但是仍有一些重要差异。 为了避免在应用程序和工作流设计中出现错误,请确保理解了隔离级别如何影响 DBMS 中的锁定和并发。 有关详细信息,请参阅 DBMS 文档。

有关隔离级别如何应用于 ArcGIS 以及潜在的并发问题的信息,请参阅并发与锁定。

相关主题

  • 并发与锁定

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明