結論
カウントされない。
検証
以下の2パターンのガバナ制限情報を比較する。
もし WHERE 句のサブクエリがガバナ制限としてカウントされるなら、この2つは同じ結果になるはず。
- WHERE 句のサブクエリを使用して取得
- サブクエリを使用せず、2回の SOQL に分けて取得
WHERE 句のサブクエリを使用して取得
- 開発者コンソールから Apex を実行
- 出力されたログを確認
- 2行目:発行される SOQL クエリの合計数:1回(上限100回)
- 3行目:SOQL クエリによって取得されるレコードの合計数:7件(上限50000件)
サブクエリを使用せず、2回の SOQL に分けて取得
- 開発者コンソールから Apex を実行
- 出力されたログを確認
- 2行目:発行される SOQL クエリの合計数:2回(上限100回)
- 3行目:SOQL クエリによって取得されるレコードの合計数:21件(上限50000件)
比較
上記2パターンを比較すると、WHERE 句のサブクエリはガバナ制限にカウントされていないことが分かる。
制限の種類 | WHERE 句のサブクエリを使用して取得 | サブクエリを使用せず、2回の SOQL に分けて取得 |
---|---|---|
発行される SOQL クエリの合計数 | 1回 | 2回 |
SOQL クエリによって取得されるレコードの合計数 | 7件 | 21件 |