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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 数据库管理 » 配置数据库 » 数据库选项 » 数据库选项简介 » 按字母顺序排列的选项列表

 

delayed_commits 选项 [数据库]

确定数据库服务器在执行一条 COMMIT 后何时将控制返回应用程序。

允许值

On、Off

缺省

Off(这种情况符合 ISO COMMIT 行为)

作用域

可以为单个连接或 PUBLIC 组设置此选项。设置立即生效。

注释

此选项设置为 On 时,数据库服务器会立即响应 COMMIT 语句,而不是一直等到 COMMIT 的事务日志条目写入磁盘。此选项设置为 Off 时,应用程序必须等到 COMMIT 写入磁盘。

当此选项设置为 On 时,日志会在日志页已满时写入磁盘,或根据 delayed_commit_timeout 选项设置写入磁盘,无论哪个条件先满足。即使事务已提交,但如果系统故障发生在数据库服务器响应 COMMIT 之后,但在页写入磁盘之前,也有可能发生事务丢失。将 delayed_commits 设置为 On 并将 delayed_commit_timeout 选项设置为高值,会加快响应时间,但在恢复期间稍有丢失已提交事务的风险。

如果 cooperative_commits 和 delayed_commits 选项都设置为 On,并且在 cooperative_commit_timeout 这段时间间隔内没有页面写入,则应用程序会继续执行(如同提交已经生效),并且会使用剩余的间隔 (delayed_commit_timeout - cooperative_commit_timeout) 作为 delayed_commits 间隔,在此间隔之后,即使页未满,也会将页写入。

另请参见