100% 内存 HSQL 数据库

发布于 2024-07-07 08:57:41 字数 364 浏览 9 评论 0原文

我有一个 Java 应用程序设置为服务,每隔几个小时对大约 3GB 的数据进行数据挖掘。 我希望这 100% 发生在内存中。 理想情况下,我希望应用程序与所有事物隔离; 我希望它构建数据库,进行我需要的挖掘,并在完成后拆除数据库。

然而,对于 HSQLDB,即使我使用“创建内存表...”命令,也会写入所有语句的日志,并在下次应用程序运行时重新创建该表。

我正在进行大量插入,大约 150k+,因此该文件的大小会快速增长。 我也不关心下次运行时重建数据库,因此日志记录对我来说毫无用处。

我可以在完成后删除该文件,但如果可能的话,我想避免向磁盘写入那么多内容。

有没有办法关闭这个功能?

提前致谢!

I have a Java application set up as a service to do data-mining against ~3GB of data every few hours. I would like this to occur 100% in memory. Ideally I want the application to be isolated from everything; I want it to construct the database, do the mining I need, and tear down the database when it's done.

However with HSQLDB, even when i use the "create memory table...." command, a log is written of all of the statements and the table is recreated the next time the application runs.

I'm doing a LOT of inserts, ~150k+, so this file will quickly grow in size. I also don't care about reconstructing the database upon next run, so the logging is useless to me.

I could just delete the file when I'm done, but if possible I'd like to avoid having to write that much to the disk.

Is there a way to turn off this feature?

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡水深流 2024-07-14 08:57:42

没问题,只需打开数据库连接即可:

 Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:aname", "sa", "");

有关更多信息,请参阅 HSQL 文档

No problem, just open the database connection thus:

 Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:aname", "sa", "");

For more information, refer to the HSQL docs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文