Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » UltraLite - 数据库管理和参考 » UltraLite 性能提示 » 插入和更新性能提示 » 管理事务和行状态

 

UltraLite 数据库行状态管理

维护行状态信息是 UltraLite 数据库功能集的强大部分。对于数据同步来说,跟踪表和行的状态特别重要。

注意

UltraLite Java 版本不支持行状态管理。UltraLite Java 版本数据库使用事务日志来跟踪需要同步的更改。

内部标记用于跟踪 UltraLite 数据库中的行状态。行状态控制事务处理、恢复和同步。当应用程序插入、更新或删除行时,UltraLite 修改该行的状态,以反映操作和执行操作的连接。提交事务时,会修改该事务影响到的所有行的状态,以反映该提交操作。如果在提交时发生了意外故障,则整个事务将会回退。以下列表总结了这些行为:

  • 发出删除操作时   每个受影响的行的状态均会更改,以反映该行已被删除。通过回退撤消删除时,恢复行的原始状态。

  • 提交删除操作时   受影响的行并不总是从内存中删除。如果该行从未进行过同步,则该行会被删除。如果该行进行过同步,则该行不会被删除,因为删除操作首先需要与统一数据库同步。在下一次同步之后,该行将从内存中删除。

  • 更新行时   创建该行的新版本。旧行和新行的状态会设置为使旧行不再可见,而新行可见。

  • 提交行更新操作时   提交事务时,会修改该事务影响到的所有行的状态,以反映该提交操作。当同步更新时,旧行和新行均需要用于冲突检测和解决。然后旧行从数据库中删除,新行只是变成正常行。

  • 添加行时   行添加到数据库并标记为未提交。

  • 提交添加行操作时   行标记为已提交,同时也标记为需要与统一数据库同步。

 另请参见