【问题标题】:Hsqldb-How data will persist when process crashesHsqldb-进程崩溃时数据如何持久化
【发布时间】:2011-09-06 12:46:00
【问题描述】:

我希望数据应该在 hsqldb 数据文件中提交,而进程崩溃而不记录到日志文件。我设置了一个命令“SET FILES WRITE DELAY FALSE”,但它需要启用日志文件来保存数据。因为日志记录会产生性能影响,我不想要它。所以有什么方法可以实现这个目标。

登录应用程序有什么影响。

提前致谢, 阿尼尔

【问题讨论】:

    标签: hsqldb


    【解决方案1】:

    HSQLDB 默认将数据写入 .log 文件。此 .log 文件用于在发生崩溃时进行恢复。

    当设置SET FILES WRITE DELAY FALSE 时,引擎会在每次提交时对 .log 文件执行文件同步。性能影响的原因是文件同步操作。此设置对测试很有用,当许多更改被快速写入并且过程始终存在时。对于许多应用程序来说,这不是必需的,因为默认情况下,如果已写入新记录,则每 0.5 秒对 .log 文件执行一次同步。这可以减少到 100 毫秒,而不会对性能产生很大影响。

    您可以使用SET FILES LOG FALSE 语句关闭登录并执行批量插入或更新,但不建议将其作为默认设置。

    在任何时候,包括关闭日志记录时,您都可以执行显式 CHECKPOINT 以将所有数据提交到 .data 和 .script 文件。

    【讨论】:

      猜你喜欢
      • 2015-03-25
      • 2012-11-29
      • 2011-05-06
      • 2017-08-10
      • 1970-01-01
      • 2014-09-09
      • 2021-08-13
      • 2021-01-16
      • 1970-01-01
      相关资源
      最近更新 更多