BulletがN+1を検出してくれない事があってそれが分からない
Bulletというgemがある。この人は無駄にクエリが流れていないか、いわゆるN+1になっていないかを見つけて報告してくれる。
使っていて「あ、N+1になってたんだ。解決しないと」ってなってとても便利。
しかし、ある時Railsのログを見ていたら、明らかにN+1っぽいクエリが流れていたのにBulletがそれを検出出来ていない感じだった。
そしてこのブログを書こうか迷ったのだけど・・・ 結局なぜ検出出来ていないのか分かっていない。 (分かったらまたブログ書く。。)
なので、このブログは「Bulletでも検出出来ない事がある」ということが分かった程度の内容だ。
今回のようなケースがあるので、投げているSQLに不安があるような場合は、下の様に監視しながら開発をした方が良いかもしれない。
$ tail -f development.loog | grep SELECT