如何以二进制形式编写 hsqldb?

Posted

技术标签:

【中文标题】如何以二进制形式编写 hsqldb?【英文标题】:How to write hsqldb in binary form? 【发布时间】:2012-11-17 16:06:06 【问题描述】:

我正在为 java 中的 SQLite 寻找一个好的(与 JDBC 兼容的)替代品。找到了hsqldb,挺满意的,不过还是有一些问题。

首先。当数据库大小为 3-4GB 时它是如何运作的?还是全部加载到 RAM 中?

第二。那里说,它可以支持二进制格式,而不仅仅是脚本。如何启用它?

Class.forName("org.hsqldb.jdbcDriver");
PleaseHsqlUseBinaryFormat(); // What should I write here or somewhere else?
link = DriverManager.getConnection("jdbc:hsqldb:file:/tmp/mydatabase.hsql","sa","");
try

    // Work with database

【问题讨论】:

【参考方案1】:

HSQLDB 很灵活,允许您选择数据的存储方式。如果您希望将数据存储在磁盘表中,请使用 CACHED 表。最简单的方法是向连接 URL 添加一个属性:

jdbc:hsqldb:file:/tmp/mydatabase.hsql;hsqldb.default_table_type=cached

所有 CREATE TABLE 和类似的语句都存储在 .script 文件中。如果您不希望此文件为文本格式,请添加另一个属性:

jdbc:hsqldb:file:/tmp/mydatabase.hsql;hsqldb.default_table_type=cached;hsqldb.script_format=3

指南涵盖了不同的选项:

http://hsqldb.org/doc/2.0/guide/management-chapt.html

【讨论】:

以上是关于如何以二进制形式编写 hsqldb?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 hsqldb 数据库中存储文本和二进制文件?

c语言编写一程序,以字符串形式输入十进制数,将字符串对应的十进制数转换成二进制数,将得到的结果输出。

如何在 HSQLDB 表列中以字符串形式保存 XML 数据

2021-10-23:位1的个数。编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1‘ 的个数(也被称为汉明重量)。提示:请注意,在某些语言(如 Java)中

如何以二进制形式显示 C++ Boost Library 多精度大整数?

以二进制形式读取文件,将其压缩并以二进制形式写回