Blogical

AWS/Salesforceを中心に様々な情報を配信していきます(/・ω・)/

【Salesforce】【Apex】バッチ処理のヒープサイズ制限の回避について

お世話になっております。
ロジカル・アーツの中村で御座います。

最近になってバッチ処理を作成する機会があり、検証を行った際に
ヒープ制限に引っかかってしまうことがありました。
対応方法を模索したところ、良い解決方法を発見できましたので
記録とご共有を兼ねてご紹介したいと存じます。

ヒープサイズ制限とは

「Apex heap size too large (Apex ヒープサイズが大きすぎます)」のエラーを指します。
処理中にメモリに格納されているデータが多すぎる場合に発生します。
この制限自体は 「同期コール」と「非同期コール」 によっても異なります。
Apexの基本的な概要については開発者ガイドに記載されておりますので、是非ご確認下さい。

処理の例

エラーが起きやすい例

以下のソースコードの様に、膨大なデータをListに格納した場合、
ヒープサイズ制限によりエラーとなることがあります。

List<sObject> sobjList = [SELECT Id, Name ,・・・FROM sObject];
for(sObject obj : sobjList){
//任意の処理
}

ヒープサイズ制限を回避するために改修した例

個人的な解釈も含まれますが上記のエラーが発生しやすい状況を回避するために、
Listに格納していた分のメモリ領域を使用せず、
SOQLから直接データを使用する方法になります。

for(sObject obj : [SELECT Id, Name ,・・・FROM sObject]){
//任意の処理
}

注意点

DML操作の制限
・選択するフィールド
・共有ルールの影響
など、他にもいくつか注意点はございますので、
作成・改修されているソースコードに合わせて、ご確認してみてください。


最後に

今回ご紹介したい内容は以上となります。
いかがでしたでしょうか。

私もまだまだ、ヒープサイズの制限やガバナ制限については把握しきれていないことが多くありますが、
上手いこと制限に付き合っていければと思います。

今回ご紹介した内容が、読者様の助けとなれば幸いです。
他にも開発者ガイドには多くの機能や制限について記載されておりますので、
是非ご確認してみてください。

システム監視の救世主!Whatapでサーバーのパフォーマンスを最大化する方法

こんにちは、ロジカル・アーツの眞泉です。

システムのパフォーマンス管理は、現代のIT環境で重要な要素の一つです。 特にサーバーのパフォーマンスは、企業の業務効率やユーザー体験に直接影響を与えます。

そんな中、信頼できるシステム監視ツールの選択は、エンジニアにとって非常に重要です。 この記事では、サーバーのパフォーマンスを最大化するための強力なツールであるWhatapに焦点を当て、その使い方や導入のメリットを詳しく解説します。 エンジニアのシステム監視の救世主としてのWhatapの真価を、ぜひ理解していただければと思います。

続きを読む

初心者向け:Whatapを使ったサーバー監視の導入ガイド

こんにちは、ロジカル・アーツの眞泉です。

サーバー監視は、ウェブサイトやアプリケーションの安定運用に欠かせない要素です。特にシステム管理者にとって、最適なツールを選び、導入することは大きな課題です。この記事では、初心者でも簡単に導入できる「Whatap」を使ったサーバー監視の基本を解説します。

これから紹介するステップを参考に、サーバー監視の重要性と導入の手順をしっかりと理解し、安定したシステム運用を目指しましょう。

続きを読む

カスタム項目の作成日・作成者を一覧で取得

はじめに

こんにちは、ロジカル・アーツの松田です。

Sandbox環境下で複数人でシステム構築後、本番環境に反映させる際にどの項目をいつの段階で誰が作成したのかを確認したくなったことはありませんか?

今回は、カスタム項目のメタデータに該当する作成日・作成者を一覧で取得する方法についてご紹介いたします。

続きを読む

Salesforce World Tour Essentials Osaka 2024 参加レポート

こんにちは。ロジカル・アーツの岡田です。

今回は7/18(木)に開催されたSalesforce World Tour Essentials Osakaに参加してきましたので、その内容についてお伝えします。

  • Salesforce World Tourとは
  • 基調講演の概要
    • AI活用による新たな価値創造
  • AIの活用事例
    • AI活用のコツ
    • AIからのアウトプット
  • まとめ
続きを読む

Whatapを使った効果的なアプリケーション監視:トラブルを未然に防ぐテクニック

こんにちは、ロジカル・アーツの眞泉です。

アプリケーションのパフォーマンス管理とシステム監視は、現代のIT運用において不可欠な要素です。特に、業務アプリケーションの安定稼働を保証するためには、適切な監視とトラブルシューティングが重要です。この記事では、Whatap(ワタップ)を使った効果的なアプリケーション監視のテクニックについて解説します。

Whatapは、リアルタイムでのシステム監視とパフォーマンス管理を可能にする強力なツールです。このツールを活用することで、アプリケーションの問題を迅速に発見し、未然に防ぐことができます。これから、Whatapの基礎から応用までの手法を学び、日常のシステム運用に役立てていただければと思います。

この記事が、Whatapを初めて利用する方や、システム監視の強化を考えている方にとって、有益な情報源となれば幸いです。それでは、さっそくWhatapを用いたアプリケーション監視を紹介します。

続きを読む