Apex 効率的にSOQLを書くサンプル
環境
Salesforce Apex
1.文字列の先頭にワイルドカードを使用しないこと
パフォーマンス向上のためには、末尾に%を使用する
SELECT Name FROM Account WHERE Name LIKE 'B%’
2.オブジェクトのインデックスを使うこと
WHERE句にはインデックス付きの項目で使った方のパフォーマンスを向上できます。
SELECT Id FROM ACCOUNT WHERE Name LIKE 'B%’
3.LIMITおよびOFFSETを使用すること
— レコード数を制限
SELECT Name FROM Account LIMIT 8
— ページネーションのためにOFFSETを使用
SELECT Name FROM Account LIMIT 8 OFFSET 20
4.サブクエリを使用する
— SELECT句でのサブクエリの使用例
SELECT Name, (SELECT LastName FROM Contacts) FROM Account
5.IDをハードコードしない
// IDをハードコードせずに動的な参照を使用
SELECT Name FROM Account WHERE Id = :recordId