Open1

prosopiteを使ってみる

shimadamashimadama

N+1クエリ検出ツール比較:bulletとprosopite

現状

現在プロジェクトではbulletを使用してN+1クエリを検出しています。bulletは長い間Railsプロジェクトで広く使われているN+1クエリ検出ツールです。

prosopiteの紹介

最近、prosopiteというN+1クエリ検出の代替ツールを見つけました。

prosopiteの特徴

  • N+1クエリの検出機能を提供
  • Railsテスト中にN+1クエリが検出された場合にテストを失敗させる機能あり(Prosopite.raise = trueで設定可能)
  • ActiveRecord + MySQL/PostgreSQLをサポート
  • 設定がシンプル(例:Prosopite.enabled = true
  • 2025年現在も継続的にメンテナンスされている

検討事項

  • bulletからの移行コスト
  • チーム内での新ツール導入の学習コスト
  • それぞれのツールの検出精度の比較