RayKit よくある質問

Too many SOQL queries: 101などのガバナ制限が発生した場合の対処方法

Salesforceにはガバナ制限と呼ばれる制限があります。

参考:Apexガバナ制限

RaySheetはSalesforce上で動作するため、同じようにガバナ制限があります。もし制限を越える場合、例えば次のようなエラーが発生します。

発行される SOQL クエリの合計数が100を越える場合:"Too many SOQL queries: 101"
SOQL クエリによって取得されるレコードの合計数が50,000レコードを越える場合:"Too many query rows: 50001"

RaySheetの操作中に発生するガバナ制限のエラーは、「RaySheetに起因するエラー」「ユーザー固有のカスタマイズに起因するエラー」の2種類あり、それぞれ見分け方と対処方法が異なります。

RaySheetに起因するエラー

見分け方:エラーメッセージにRaySheetの処理であることを表す「gcss」という文字列が付与されます。"gcss:Too many SOQL queries: 101"や"gcss:Too many query rows: 50001"のようなエラーメッセージが表示されます。このような場合はRaySheetに起因するエラーです

対処方法:RaySheetはガバナ制限に抵触しないように考慮して開発をしていますが、もしこのようなエラーが発生する場合は、RaySheetの不具合または制限の可能性があります。テクニカルサポートまでお問い合わせください。

ユーザー固有のカスタマイズに起因するエラー

見分け方:エラーメッセージにRaySheetの処理であることを表す「gcss」という文字列が付与されません。"Too many SOQL queries: 101"や"Too many query rows: 50001"のようなエラーメッセージが表示されます。このような場合はユーザー固有のカスタマイズに起因するエラーです。

エラーが発生するパターン:RaySheetは一括でレコードを更新することができるアプリケーションです。もし、ユーザー側でレコード更新時にApexトリガーなどを開発してカスタマイズしていた場合、一括更新されることを考慮していないとガバナ制限のエラーが発生する可能性があります。

対処方法:対処方法は2つあります。

  1.  一括更新されることを前提としたApexトリガーに修正する。
  2.  RaySheetの設定でバッチサイズを調整する。RaySheetはバッチサイズを設定することができ、バッチサイズを小さくすることでガバナ制限を回避できる可能性があります。

 

 

 

 

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

0 コメント

記事コメントは受け付けていません。