function readOnly(count){ }
Don't have an account?
Search for an answer or ask a question of the zone or Customer Support.
You need to sign in to do that
Sign in to start searching questions
Signup for a Developer Edition
Sign in to start a discussion
はじめまして。
ある検索画面を作り、検索処理を行ったところ、
「Apex CPU time limit exceeded」というエラーが表示されました。
見慣れないエラーだったのでWebで調べてもよく分かりませんでした。
ご存知の方がおられましたらどういった場合にでるエラーなのか
ご教授いただけないでしょうか。
ガバナ制限にはなさそうでしたが、Limits MethodsにgetLimitCpuTime(戻り値は60,000ミリ秒でした)なるものが
あったので、1トランザクション内で60,000ミリ秒を超える負荷がQuery等でかかってしまったため発生したのでは
ないでしょうか。
http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_methods_system_limits.htm
クエリで時間がかかっているようであれば、インデックスを張ることでパフォーマンスが向上するかもしれません。
ご参考までに貼っておきます。
お二方ご回答ありがとうございました。
インデックスも検討しましたが、貼る対象の検索項目が多いため
実現は厳しい状況です。
(セールスフォースは3つまでしか許可していないようです。)
検証していた環境(sandbox)では意図的に膨大なテストデータを作り負荷試験をしてました。
運用環境では想定ですが、データ量的に負荷が小さい状況ですので、
一旦は様子を見るという判断にしました。
恒久的な解決にはなってないので引き続き解決策を考えて見ます。
複数のカラムにインデックスを張りたいのであれば、複数のカラムの内容(文字列)を結合したカラムをひとつ作って、そこにインデックスを張るという手もあります。
カラム数が多いと、インデックスが有効になってくると思われますので、そちらも検討してみてはいかがでしょうか。
ありがとうございます。
その手法は思いつきませんでした。
是非試してみてみます。
ガバナ制限にはなさそうでしたが、Limits MethodsにgetLimitCpuTime(戻り値は60,000ミリ秒でした)なるものが
あったので、1トランザクション内で60,000ミリ秒を超える負荷がQuery等でかかってしまったため発生したのでは
ないでしょうか。
http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_methods_system_limits.htm
クエリで時間がかかっているようであれば、インデックスを張ることでパフォーマンスが向上するかもしれません。
ご参考までに貼っておきます。
SOQLクエリのパフォーマンスチューニング
お二方ご回答ありがとうございました。
インデックスも検討しましたが、貼る対象の検索項目が多いため
実現は厳しい状況です。
(セールスフォースは3つまでしか許可していないようです。)
検証していた環境(sandbox)では意図的に膨大なテストデータを作り負荷試験をしてました。
運用環境では想定ですが、データ量的に負荷が小さい状況ですので、
一旦は様子を見るという判断にしました。
恒久的な解決にはなってないので引き続き解決策を考えて見ます。
複数のカラムにインデックスを張りたいのであれば、複数のカラムの内容(文字列)を結合したカラムをひとつ作って、そこにインデックスを張るという手もあります。
カラム数が多いと、インデックスが有効になってくると思われますので、そちらも検討してみてはいかがでしょうか。
ありがとうございます。
その手法は思いつきませんでした。
是非試してみてみます。