Rails 7.2: SQLクエリ数がログに出力されるようになった(翻訳)
データベースクエリのデバッグは、Rails開発者にとって頻度の高いタスクです。悪名高いN+1クエリ問題に対応するときや、キャッシュ戦略を微調整するときにも、SQLクエリ数を精査するためにログを調べることがよくあります。
従来、SQLクエリ数のチェックといえば、ログを手動で検査してクエリの件数を数える必要がありました。言うまでもありませんが、この作業は面倒なうえに、数十〜数百件にのぼる大量のクエリが生成されるアクションでは数え間違いが起きやすくなります。
ありがたいことに、Rails 7.2から便利な改善が導入されました。ログ出力が拡張されて、既存の情報に加えてクエリ件数も含まれるようになりました。
改善されたログ出力のActive Recordセクションには、上のようにクエリ件数も表示されています。3 queries, 1 cached
と表示されているので、データベースクエリが3件実行され、うち1件はキャッシュから取得されたことがわかります。
小さな追加に思われるかもしれませんが、これによってクエリの量や潜在的な最適化の余地を手早く特定できるようになります。キャッシュが効果的に効いているか、クエリ件数が予想通りかどうかを手軽に確認できるようになったことで、開発者の貴重な時間や労力を節約できます。
詳しくは#51457をご覧ください。
概要
元サイトの許諾を得て翻訳・公開いたします。
日本語タイトルは内容に即したものにしました。