Большая примерная база данных для HSQLDB? - PullRequest
0 голосов
/ 23 сентября 2011

Я беру класс базы данных, и я хотел бы иметь большую примерную базу данных для экспериментов. Мое определение большого здесь состоит в том, что в базе данных достаточно данных, поэтому, если я попробую выполнить запрос, который будет очень неэффективным, я смогу определить количество времени, которое требуется для выполнения. Я гуглил по этому поводу и не нашел ничего специфичного для HSQLDB, но, возможно, я использую неправильные ключевые слова. По сути, я надеюсь найти что-то, что уже настроено, с таблицами, первичными ключами и т. Д. И нормализовано и все такое, так что я могу попробовать что-то на несколько реалистичной базе данных. Для HSQLDB я предполагаю, что это будет просто файл .script. Во всяком случае, если кто-нибудь знает какие-либо ресурсы для этого, я бы очень признателен.

1 Ответ

1 голос
/ 23 сентября 2011

Вы можете использовать схему и данные базы данных 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)
)

Некоторые синтаксис MySQL DDL поддерживается в режиме синтаксиса MYS HSQLDB, например, AUTO_INCREMENT преобразуется в IDENTITY, но другим необходимо редактировать вручную. Данные в основном совместимы, за исключением некоторых двоичных строк.

Вам необходимо получить доступ к базе данных с помощью инструмента, который сообщает время запроса. HSQLDB DatabaseManager делает это, когда вывод запроса находится в текстовом режиме.

...