我正在上一个数据库课程,我想有一个大型示例数据库来试验。我在这里对大的定义是数据库中有足够的数据,因此如果我尝试一个效率非常低的查询,我将能够通过执行所需的时间来判断。我对此进行了谷歌搜索,但没有找到任何特定于 HSQLDB 的内容,但也许我使用了错误的关键字。基本上我希望找到一些已经设置好的东西,包括表、主键等,并且规范化等等,所以我可以在一个有点现实的数据库上尝试一下。对于 HSQLDB,我猜这只是 .script 文件。无论如何,如果有人知道这方面的任何资源,我将不胜感激。
问问题
1028 次
1 回答
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 会执行此操作。
于 2011-09-23T18:42:20.870 回答