設問
UCのデータアーキテクトは、WhatId項目に値がないすべてのレコードをTaskオブジェクトから返すSOQLクエリを作成しました。
WhatId != NULLのタスクからID、説明、件名を選択します。
データアーキテクトがクエリを使用してプロセスの値を選択すると、タイムアウトエラーが発生します。このクエリのパフォーマンスを向上させるために、データアーキテクトは何を変更する必要がありますか?
選択肢
A. 要求されたフィールド セットから説明を削除します。
B. クエリを SOSL に変更します。
C. 制限 100 をクエリに追加します。
D. 確定的な定義値でフィルタリングするように where 句を変更します。
解答
D. 確定的な定義値でフィルタリングするように where 句を変更します。
解説
A. 要求されたフィールド セットから説明を削除します。
フィールド削除がクエリのタイムアウトエラー改善に直接貢献することは少ない。パフォーマンス問題の根本的な解決にはならないため、この方法は適切ではない。
B. クエリを SOSL に変更します。
SOSLは主に全文検索に適しているが、この場合のように特定の条件に基づくレコードフィルタリングにはSOQLの方が適しているため、効果が薄い。
C. 制限 100 をクエリに追加します。
クエリ結果数を制限することでタイムアウトを回避できる可能性があるが、すべての必要なレコードを取得できないリスクがあるため、この方法は最適ではない。
D. 確定的な定義値でフィルタリングするように where 句を変更します。
インデックスが利用可能なフィールドでフィルタリングすることで、クエリのパフォーマンスを向上させることができる。タイムアウトエラーを回避するための効果的な方法である。
第174問
こちらをクリック