Rails 3.2の新機能にEXPLAINってものがあって、それではまった話

先日、JRubyRailsアプリを書いていて、ちょっと重いSQLを発行したら次のようなエラーメッセージが出てきました。

undefined method `explain' for (以下省略)

へ?なにそれ?ってな感じでググる事30分。ようやく辿りつけました。

v1.2.2 does not support rails 3.2 explain feature

なるほど。Rails 3.2の機能で、遅いクエリに対しては自動的にEXPLAINっていうクエリを吐くんだけど、それの対応がactiverecord-jdbc-adapterではまだ(6月7日段階では)できてないってことだな。ふむふむ。

EXPLAINの機能の説明はこちら

とりあえず、

config.active_record.auto_explain_threshold_in_seconds = nil

として対応。nilならEXPLAIN機能が無効になるようなので。

やれやれ。まだまだ知らないことが多いなぁ。