2

Informix DB のテーブルに巨大なファイルをロードしたかったのですが、時間がかかりすぎました。以前は、次のコマンドを使用していました。

LOAD FROM <file> delimiter "|" INSERT INTO <tablename>

いくつかの調査の後、IBM サイトで外部テーブルの概念を読みました。

LOAD簡単なコマンドとEXTERNALテーブルを使用してデータを DB にロードすることの違いは何ですか?

2つの間にパフォーマンスの違いはありますか?

4

2 に答える 2

4

その違いは、パフォーマンスだけでなく、巨大です。LOAD は通常の SQL レイヤーを通過し、単純な INSERT と比較できます (いくつかの最適化が行われています)。また、サーバーと通信してメッセージを交換する必要があるクライアント側の「作業」でもあります。

外部表は大きく異なります。使用するモード (エクスプレスが最速) に応じて、プロセスはデータ ページを作成し、SQL レイヤーを完全にバイパスします。もちろん制限はありますが、一括読み込みの場合は大きな違いが生じる可能性があります。また、外部テーブルでは、ロードを行うのはエンジン自体です。以前の「高速」な方法 (High Performance Loader — HPL と呼ばれるツール) では、クライアント側のプロセスがありましたが、全体的な概念は似ていました。

于 2013-02-20T14:24:57.387 に答える