HSQL数据库存储格式

Posted

技术标签:

【中文标题】HSQL数据库存储格式【英文标题】:HSQL database storage format 【发布时间】:2016-02-06 11:29:18 【问题描述】:

我刚刚开始使用 HSQL 数据库,我对数据的存储格式有误解。 我已经通过 Hibernate 制作了简单的测试程序创建实体。我使用了 HSQL 的基于文件的独立进程内模式。 我得到了这个数据文件: testdb.script

SET DATABASE UNIQUE NAME HSQLDB52B647B0B4
// SET DATABASE lines skipped

INSERT INTO PERSON VALUES(1,'Peter','UUU')
INSERT INTO PERSON VALUES(2,'Nasta','Kuzminova')
INSERT INTO PERSON VALUES(3,'Peter','Sagan')
INSERT INTO PERSON VALUES(4,'Nasta','Kuzminova')
INSERT INTO PERSON VALUES(5,'Peter','Sagan')
INSERT INTO PERSON VALUES(6,'Nasta','Kuzminova')

据我了解,当我获得大量数据时,所有数据都会存储为这样的 SQL 脚本并在每次数据库启动时执行并保存在内存中?

【问题讨论】:

【参考方案1】:

.script 文件中的 INSERT 语句用于数据库的 MEMORY 表。

如果您使用CREATE CACHED TABLE ... 创建表或使用SET TABLE <name> TYPE CACHED 将MEMORY 表更改为CACHED,则该表的数据将存储在.data 文件中,并且.script 中将没有INSERT 语句.文件。

【讨论】:

以上是关于HSQL数据库存储格式的主要内容,如果未能解决你的问题,请参考以下文章

加密(base64)密码未存储在数据库 hsql 中

将 java.sql.Timestamp 类型存储到 HSQL 数据库中

HSQL 数据库:加载特定的 Java 类路径

finedb(内置的HSQL数据库)迁移数据到MySQL

从 XML (CLOB) 类型生成 HSQL 中的计算(虚拟)列

HSQL 数据库大小