4

の要件がありinserting enormous data in table of firebird database around 40K entriesます。スクリプトの準備はできましたが、flameRobin を使用してスクリプトを実行すると、大量のデータを一度に挿入している間に UI がハングアップしてしまいました。

255 個のクエリのブロックで挿入クエリを実行しても問題ないことはわかってbulk insert tool available for Firebirdいますが、scripts.sql ファイルからの読み取り中にそのようなエントリを実行する必要があるかどうかを知りたいです。

グーグルで調べた後、ツールに出くわしましisqlたが、それに対してスクリプトを実行できませんでした。このような膨大なデータを一度に入力するための他のツールや適切なドキュメントを教えてもらえますか?

システムにfirebird version 2.5インストールしました。

4

3 に答える 3

8

EXECUTE BLOCK を使用して、より多くの挿入を単一のステートメントに詰め込むことができます。このようなもの:

set term !! ;
EXECUTE BLOCK AS BEGIN
  insert into ... values ...;
  insert into ... values ...;
  insert into ... values ...;
  insert into ... values ...;
  ....etc.
  insert into ... values ...;
END!!

それらを一度に 100 個または同様にグループ化できます。これにより、処理が大幅に高速化され、FlameRobin の解析も改善されます。

isql は依然として高速ですが、これによりエラー制御が向上します。途中でいくつかの挿入が isql で失敗した場合、デバッグするのは非常に困難です。

于 2012-10-25T09:29:43.647 に答える