(Classicにおける?)「リストビュー」のタイムアウトエラーの原因と対処法

By | June 2, 2020

概要

リストビューが大量データを取得するクエリになっている場合、タイムアウトエラーが発生し、レコードが読み込まれません。

当該エラーが発生すると、タブアクセス時にまず最後に見たリストビューが表示されるという仕様から、他のリストビューに切り替えられず詰んでしまうことがあります。

問題が発生したら

下記手順で詰みから抜け出せます。

①別ユーザやシステム管理者で下記のいずれかを行う。

  • Lightning:返ってくるレコードが少ないリストビューのURLを取得(Object/list?filterName=~)
  • Classic:「新規ビューの作成」ボタンから新規リストビュー作成のURLを取得

②問題が発生しているユーザのブラウザのURL欄に上で取得したURLをペースト

参考

リストビューでタイムアウトエラーなどが返ってくる基準は不明瞭ですが、トリガ内でのクエリにおける「System.QueryException: Non-selective query against large object type (more than 200000 rows)」エラーについては公式記事があります。

記事URL:https://help.salesforce.com/articleView?siteLang=en_us&id=000325247&language=en_us&type=1&mode=1

記事によると、「200,000 件を超えるレコードを含むオブジェクトに対してトリガでセレクティブではないクエリを実行」するとエラーになるようです。

この場合は、クエリをセレクティブなものに書き換えるか、あるいはカスタムインデックスが作成されていない項目についてサポートに連絡しカスタムインデックスを作成することで対処する必要があります。