Railsの良い感じsql遅延実行

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書いた方が良くない?という話が結構ちらほら聞かれました。で

そんなお話でした。

Leave a Reply

Your email address will not be published.

CAPTCHA