3行まとめ ActiveRecordのcountとlength、そしてsizeの振る舞いについて学ぶ 実際にRailsのソースコードを追って調べる countをするか、SQLの実行結果を格納した配列の長さを取っているか、cacheをどのように活用するかに違いがある はじめに 最近Railsを書いていて、lengthとcountの振る舞いが違うことがあり、この二つの振る舞いの違い(というか、countはSQLでcountしているものだと思えば、特にlengthがどのような振る舞いをしているか)が気になったので、Railsのソースコードを読んでいこうと思います。 早速、最初はcountメソッドとlengthメソッドのsource_locationを表示し、どのファイルで定義しているかから調べます。 [8] pry(main)> Task.where.not(id: nil).method(:c