1

Apex Data Loader を使用してレコードの挿入/削除を行っていますが、データが膨大になると時間がかかります。

これを実現する別の方法があれば教えてください。

4

3 に答える 3

2

mmix の答えは正しいです。最新のデータ ローダーを使用し、バルク API をオンにして、データを解放します。また、Informatica などのパートナーを使用することもできます。パートナーは、大規模な負荷の経験が豊富です。

内部では、バルク API がアップロードを (冗長な、バックアップされた) ディスクにストリーミングし、アップロード ジョブをキューに入れ、データベースにロードします (複数のバッチがある場合)。これは非常に高速で、1 時間に数百万件のレコードを処理できますが、速度はさまざまな理由で異なります。保証はありません。これは非同期 API です。

多くの Apex トリガまたはワークフローがある場合、または負荷に更新の共有 (所有権の変更など) が含まれる場合、これにより負荷が桁違いに遅くなる可能性があります。

読み込みが本当に遅い場合は、サポート ケースを提出して、パフォーマンス担当者の 1 人が負荷の経過を追跡し、どこで時間が費やされているかを確認することもできます。

それが役立つことを願っています。

于 2011-05-01T03:32:29.940 に答える
1

force.com プラットフォームを使用できる場合は、使用できるBulk APIがあります。こちらの Dreamforce 09ノートも参照してください。

于 2011-04-18T09:33:58.823 に答える
0

自分で行う場合は、BulkAPI または管理者設定データのインポート ([設定]、[管理者設定]、[データのインポート]、[ビジネス アカウントのインポート]) のいずれかを使用します。BulkAPI にはバッチごとに 10,000 行の制限があり、管理インポートにはアップロードごとに 50,000 行の制限があるため、データをスライスする必要があることに注意してください。

あるいは、データ ローダ外部アプリケーションの新しいバージョンは、新しい BulkAPI をサポートし、物事をスライスすることができます。データ ローダは、[管理] [設定] | [データ管理] の下の [設定] メニューからダウンロードできます。そこからインポートを実行し、アプリがデータをバッチにスライスできるようにします。

インポートが遅すぎる場合は、トリガー、重要でないワークフロー、およびアカウントの検証を一時的に停止してみてください。それ以外にできることはあまりありませんが、salesforceデータベースは直接的なデータベースではなく、実際のデータベースに永続化する前にすべてのデータを噛む必要がある抽象化レイヤーであり、常にパフォーマンスが低下することに注意してください.

于 2011-04-18T09:54:59.187 に答える