【Salesforce】System.LimitException: Too many query rows: 50001
Visualforceのページを製造して、データ量が多いSandboxで確認作業を行っていると、エラーが発生しました。
System.LimitException: Too many query rows: 50001
ガバナ制限に引っかかっていました。
1トランザクションで取得できるレコードの数が合計で50000レコードを超えるとエラーになります。
そんなにレコードを取得しないように作ったはずと思い、デバッグログを確認すると原因が分かりました。
Visualforce側に記述されているカスタムコンポーネントが何度も大量のレコードを取得していました。
1トランザクションは、Visualforceページだけでなくコンポーネントで動くコントローラも含まれているため、このようなことが起きていました。
このコンポーネントは別のページでも使用されていましたが、案の定そのページも同じエラーで落ちていました。
大量のデータを扱うときには気を付けなければいけませんね。
現象を確認して偉い人に伝えたら自分が修正することになりました。
コンポーネントを作った人にやってもらった方が早いのでは。。
No comments.