为什么使用 HSQLDB 启动服务器需要很长时间且 NIO 大小很大
Why does starting a server with HSQLDB take very long with large NIO sizes
我 运行 java 服务器使用基于文件的 HSQL 数据库并导入大量数据,生成一个大约 25gb 的 .data 文件。为了加快数据库导入速度,我将文件 NIO 大小 属性 设置为 30gb,这会显着加快该过程。
但是,当我重新启动服务器时,执行了一些 SQL 查询,第一次获得连接需要很长时间,最后一行日志为:
dataFileCache commit start
copyShadow [size, time] 98376 4
我发现当我将 NIO 参数减小到低于 .data 文件(例如 8gb)的大小时,服务器启动速度更快。
为什么较大的 NIO 大小参数 会增加 我的服务器重启时间?假设在初始数据导入后数据库主要用于只读操作并且需要快速的服务器重启时间,那么减小 NIO 大小是否有意义?
当 NIO 大小 属性 小于现有 .data 文件的大小时,根本不使用 NIO。
问题可能与您关闭服务器的方式有关。您需要执行 SQL 语句 "SHUTDOWN"(而不是 "SHUTDOWN IMMEDIATELY")来关闭数据库。这样做会减少下一次启动的时间。
我 运行 java 服务器使用基于文件的 HSQL 数据库并导入大量数据,生成一个大约 25gb 的 .data 文件。为了加快数据库导入速度,我将文件 NIO 大小 属性 设置为 30gb,这会显着加快该过程。 但是,当我重新启动服务器时,执行了一些 SQL 查询,第一次获得连接需要很长时间,最后一行日志为:
dataFileCache commit start
copyShadow [size, time] 98376 4
我发现当我将 NIO 参数减小到低于 .data 文件(例如 8gb)的大小时,服务器启动速度更快。
为什么较大的 NIO 大小参数 会增加 我的服务器重启时间?假设在初始数据导入后数据库主要用于只读操作并且需要快速的服务器重启时间,那么减小 NIO 大小是否有意义?
当 NIO 大小 属性 小于现有 .data 文件的大小时,根本不使用 NIO。
问题可能与您关闭服务器的方式有关。您需要执行 SQL 语句 "SHUTDOWN"(而不是 "SHUTDOWN IMMEDIATELY")来关闭数据库。这样做会减少下一次启动的时间。