0

私はデータベースのクラスを受講しており、実験用に大規模なサンプル データベースが必要です。ここでの大規模の定義は、データベースに十分なデータがあるため、非常に非効率的なクエリを実行した場合に、実行にかかる時間がわかるということです。私はこれをグーグルで検索しましたが、HSQLDB 固有のものは見つかりませんでしたが、間違ったキーワードを使用している可能性があります。基本的に、テーブル、主キーなどで既に設定され、正規化されているものを見つけて、ある程度現実的なデータベースで試してみることを望んでいます。HSQLDBの場合、それは.scriptファイルだけだと思います。とにかく、誰かがこれに関するリソースを知っていれば、本当に感謝しています。

4

1 に答える 1

1

MySQL Sakila データベース スキーマとデータ (オープン ソース、MySQL Web サイト) を使用できますが、スキーマ定義を変更する必要があります。実験に不要なビューとトリガーの定義を削除できます。例えば:

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 構文は、HSQLDB の MYS 構文モードでサポートされています。たとえば、AUTO_INCREMENT は IDENTITY に変換されますが、手動で編集する必要があるものもあります。一部のバイナリ文字列を除いて、データはほとんど互換性があります。

クエリ時間を報告するツールを使用してデータベースにアクセスする必要があります。HSQLDB DatabaseManager は、クエリ出力がテキスト モードの場合にこれを行います。

于 2011-09-23T18:42:20.870 に答える