うまくいけば、私が苦労しているデータベースの問題で私を助けることができます:)
次のようなテーブルがあるとします。
id | user_id | training_id | date | performance | best
1 | 7042 | 11 | 2013-07-23 13:43:29 | 654 | true
2 | 7042 | 11 | 2013-07-25 15:22:59 | 703 | false
3 | 2344 | 12 | 2013-07-26 09:20:12 | 400 | true
...
テーブルには、ユーザー (user_id) が免除したトレーニング (training_id) が含まれています。ユーザーが、その種類の以前のすべてのトレーニング (training_id) よりも優れたパフォーマンスでトレーニングを免除した場合、そのユーザーはベスト (best = true) になります。特定のユーザーの各トレーニングの最新のベストを照会できるように、補助列「last_best」を追加したいと考えています。不足している last_pb の値を提供するために、データベース内のすべてのトレーニングに対してスクリプトを実行したいと考えています。
私の最初のアプローチは、Rails コンソールですべてのトレーニングとユーザーを反復処理することでした。ただし、このアプローチは非常に遅いです。約 70.000 人のユーザーと 200.000 のトレーニングのデータセットの場合、約 36 時間かかります。
今、私は SQL で同じことをしたいと思っていますが、ユーザーとトレーニングの繰り返しに苦労しています。あなたが私を助けてくれることを願っています。