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

SQL Anywhere 11.0.1 (中文) » UltraLite - 数据库管理和参考 » UltraLite 数据库参考 » UltraLite 连接参数

 

UltraLite COMMIT_FLUSH 连接参数

确定在提交调用后何时将提交的事务刷新到存储。如果 UltraLite 应用程序没有产生需要提交的调用,则不进行刷新。

语法
COMMIT_FLUSH={ immediate | grouped | on_checkpoint }
Default

immediate

注释

此连接参数定义了硬件出现故障或崩溃后将恢复哪些事务。可以将多个逻辑自动提交操作分组为一个恢复点。

通过分组这些操作,可以提高 UltraLite 性能,但是却以牺牲数据可恢复性为代价。发生一种很少出现的情况时,事务会丢失,即使已经提交了事务—即在事务提交之后但尚未刷新到存储之前硬件出现了故障或崩溃。

支持以下参数:

  • immediate   在提交操作完成之前,产生提交调用后就立即将提交的事务刷新到存储。

  • grouped   产生提交调用且只在已达到所配置的阈值以后,将提交的事务刷新到存储。可以用 commit_flush_count 数据库选项配置事务计数的阈值,也可以用 commit_flush_timeout 数据库选项配置基于时间的阈值。

    如果将 commit_flush_count 和 commit_flush_timeout 选项均设置为提交刷新的可用触发器,则首先达到的阈值将触发刷新。刷新后,UltraLite 将计数器和计时器清零。然后,同时监控计数器和计时器,直到再一次达到这些阈值之一。

  • on_checkpoint   执行检查点操作时将提交的事务刷新到存储。可以使用以下任一方法执行检查点:

    • CHECKPOINT 语句。没有 checkpoint 方法的 API 必须使用此 SQL 语句。
    • UltraLite 嵌入式 SQL 的 ULCheckpoint 函数。
    • C++ 组件中连接对象的 Checkpoint 方法。

另请参见