2011/06/30 19:05:26

ガバナ制限処方箋(3):List、Set、Mapの制限がなくなっている!?(続き)

このエントリーをはてなブックマークに追加

先週に引き続き、List、Set、Map配列の要素数を小さくするための手法をご紹介します。
ガバナ制限に対する処方箋ではありませんが、経緯は前回の記事をご覧ください(T_T)。
では、早速2つ目の手法です。

LIMIT句によって取得するレコードを制限する
SOQLで取得されるデータ件数が多いとき、LIMIT句によって取得するデータ件数を制限することができます。しかし、そのままでは取得するデータの順番が不定となってしまいます。

そこで、ORDER BY句と組合せて使うことをお勧めします。
これによって、上位100件を取得する、といったことができるようになります。

順序不定のまま取得したデータは結果が一定にならないため、不具合との切り分けができなくなりますので。
必ずORDER BY句で順序を指定するようにしましょう(こちらも当たり前すぎて申し訳ないです)。
前回に続き、こちらのSOQLの書き方をコーディング規約にしておいたほうがよいでしょう。

具体例として、以下が取引先から名前(name)順で上位100件を取得するSOQLの例です。

SELECT id, name FROM Account ORDER BY name LIMIT 100

「スタッフブログ」へのコメントやご意見等ありましたら、 Facebookページまでお願いします。
twitterでもつぶやいてますので、ご興味のある方はぜひフォローをお願いします。

(倉谷)

admin
Page topへ