我正在上一个数据库类,我想要一个大样本数据库来试验。我在这里对large的定义是数据库中有足够的数据,因此如果我尝试的查询非常低效,我将能够判断执行所需的时间。我已经google了这个并没有找到任何特定的HSQLDB,但也许我使用了错误的关键字。基本上我希望找到已经设置好的东西,包括表格,主键等等,并将其归一化,所以我可以在一个有点现实的数据库上尝试。对于HSQLDB,我猜这只是.script文件。无论如何,如果有人知道任何资源,我真的很感激。
答案 0 :(得分:1)
您可以使用MySQL Sakila数据库架构和数据(开源,在MySQL网站上),但您需要修改架构定义。您可以删除实验所不需要的视图和触发器定义。例如:
CREATE TABLE country (
country_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
country VARCHAR(50) NOT NULL,
last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (country_id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
改性:
CREATE TABLE country (
country_id SMALLINT GENERATED BY DEFAULT AS IDENTITY,
country VARCHAR(50) NOT NULL,
last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (country_id)
)
HSQLDB的MYS语法模式支持某些MySQL DDL语法,例如AUTO_INCREMENT被转换为IDENTITY,但其他人需要手动编辑。除了一些二进制字符串之外,数据大多是兼容的。
您需要使用报告查询时间的工具来访问数据库。当查询输出处于文本模式时,HSQLDB DatabaseManager会执行此操作。