Query Planを用いたSOQLのパフォーマンス評価

Query Planとは

開発者コンソール上で実行できるSOQLのパフォーマンス評価ツール

初期設定

Query Plan機能はデフォルトでは無効のため、下記手順に従って有効化する必要があります。

①「開発者コンソール>Help>Preferences」をクリック

②「Enable Query Plan」にチェックを付けて保存

Query Planの実行

Query Planを有効化すると、開発者コンソール下部の「Query Editor」タブ内に「Query Plan」ボタンが表示されるようになります。

SOQL文を入力し、「Query Plan」ボタンを押すと、結果が確認できます。

結果として返ってくる値の意味

Cardinality:返ってくるレコード数(の予想)

Fields:クエリオプティマイザにより利用されるインデックス項目。クエリ時にインデックスを使用していない場合、値はnullとなる。

Leading Operation Type:クエリ最適化のためにSalesforceが利用する操作種別。

  • Index:クエリでインデックスを使用している
  • Sharing:クエリで共有ルールに基づいたインデックスを使用している
  • Table Scan:クエリ対象オブジェクトの全レコードがスキャンされている
  • Other:Salesforceの内部的な最適化が適用されている

Cost:(クエリオプティマイザの選択的閾値と比較した場合の)クエリのコスト。値が1を超えるクエリは決して選択的(Selective)とならない。

SObject Cardinality:クエリ対象のオブジェクトのレコード数

SOQLの最適化

SOQLの最適化が必要な場合は、こちらの方針に従って、SOQLをチューニングする。

公式ヘルプ

「Developer Console Query Plan Tool FAQ」

Salesforce

Posted by regardie