Railsすご!と思ったことがあったので、そのことについて簡単にまとめておきたいと思います。
Railsの良い感じsql遅延実行
例えば以下のようなコードがあったとします。
コード
@user = User.all
@user.each do |user|
puts user.name
end
こんな時、Railsちゃんはめちゃくちゃ賢いです。
なぜかというと、@user = User.allの時に、Sqlを展開せず、@user.eachで全体を展開する必要があったら、SQLを発行するようになっているからです。
RailsちゃんはちゃんとSQLが必要な時に、判断して実行してくれるようになっているんですね。素晴らしい。
※しかしですね、現場ではActiveRacordちゃんがよしなにしてくれるSQLが思ったように吐き出されないことも多いようです。結局自分でSQL書いた方が良くない?という話が結構ちらほら聞かれました。で
そんなお話でした。