インポートやエクスポートの時間を短縮するには

インポートやエクスポートにて時間がかかっている場合、以下の設定を行う・見直すことで改善できます。
インポートの場合
Asprova Ver.10.0.1.0におけるインポートの計測時間例を以下に挙げます。
[オーダテーブル 100万行]
サーバマシンスペック Windows Server2003 R2 (x64) Intel® Xeon® CPU 5160 @ 3.00GHz 2.99GHz メモリ22GB
データソース SQL Server 2008
クライアントマシンスペック Windows 7 (32bit) Intel® Core™ i7 CPU X990 @3.47GHz 3.47GHz メモリ3GB
インポートする はい(差分)
マッピングしたプロパティ 31個
SQLコマンド形式 フルテキスト形式
時間 44秒~50秒
備考 100万行すべてをインポート。
[製造BOM 60万行]
マシンスペック Windows 7 (x64) Intel® Zeon® CPU X5690 @3.47GHz 3.46GHz(2プロセッサ) メモリ80GB
データソース Microsoft Access 2010
インポートする はい(洗い替え)
マッピングしたプロパティ 34個
SQLコマンド形式 フルテキスト形式
時間 100秒~110秒
備考 mdbファイルはAsprovaと同じマシン上。インポートする前のオーダテーブルは空。
このように、大量データでもAsprovaは高速にインポートできます。インポートに数十分以上の時間がかかっている場合は、以下の設定を確認・変更してみてください。
①データソースとの距離
データソース(DB、テキストファイル)が、ネットワークを介してAsprovaと異なるマシン上にある場合は、インポート時間はネットワーク回線に大きく依存します。例えば、Microsoft Accessのmdbファイルに100万行のデータがある場合、そのmdbファイルをAsprovaが実行されているマシン上に手動でコピーするのに時間がかかる場合は、インポートにも同じように時間がかかります。その場合は、事前にデータソースをAsporvaが実行されるマシンもしくはその近辺にコピーしておくと良いです。これはエクスポートも同じです。
②必要なプロパティのみをマッピングする
必要のないプロパティがマッピングされていると、その分だけ、データの転送と文字列の読み取りに時間がかかります。これはエクスポートも同じです。
③デフォルト値を活用する
あるプロパティが、ほどんどのオブジェクトで同じものを使用する場合は、プロパティ定義のデフォルト値を使用するようにし、そのプロパティがインポートする文字列を減らすと、効果があります。例えば、製造BOMテーブルのマスタ使用指図の有効条件式にて、ほとんどすべての行で同じ式を使う場合は、プロパティ定義のデフォルト値にその式を記述し、デフォルト値と異なる式だけを外部のデータソースで作成してインポートします。
④差分
“データソースがOLE DBの場合、<$差分$>を選択することで、変更があったレコードのみを処理対象とすることができます。
変更されたレコードが全レコードの一部の場合であれば、データ転送量が減少しますので、インポート・エクスポート時の処理時間を短縮することができます。”
⑤SQL外部フィルタを活用する
“データソースがOLE DBの場合、<$SQL外部フィルタ$>の機能を利用して、インポートする対象のデータを絞り込むことが出来ます。
絞り込むことでデータ転送量が減少しますので、インポート時の処理時間を短縮することが可能です。”
エクスポートの場合
①データソースの距離、必要なプロパティのみのマッピング
 インポートの場合の①と②を参照してください。
②SQLコマンド形式を変更する(Oracleの場合)
“データソースがOLE DBでOracleに接続している場合で、エクスポートに時間が掛かる場合があります。
そのような場合は、データ入出力の「SQLコマンド形式」プロパティ(基本タブにあります)の設定を”フルテキスト形式”から”パラメタ形式”に切り替えることで、エクスポート時間が短縮できます。(短縮される割合は、環境に依存します)”