• CRITICAL
  • REFACTOR
  • REVIEW
  • CLEAN

AIでLaravelのN+1問題を検出し、データベースの負荷を軽減する方法

AIをコードベースに接続して、負荷の高いデータベースループを特定しましょう。エージェントがEloquentモデルをスキャンし、パフォーマンスを低下させている遅延読み込みの箇所を突き止めます。

このページについてAIに聞く

すぐに答え

LaravelでN+1問題を特定するには?

AIがEloquentモデルとコントローラーをスキャンし、遅延読み込みによって過剰なデータベースアクセスが発生している箇所を見つけ出します。Eager Loading(一括取得)が必要な正確な行を特定し、問題のあるリレーションシップのリストと修正用コードを提示します。

修正の適用先

スキャン結果の分類

AIは検出したすべての問題を、実行可能なカテゴリに分類します。

CRITICAL

即時のボトルネック

負荷がかかった際にアプリの動作を著しく低下させる、影響度の高いループを特定します。遅延の原因となっている具体的なモデルとリレーションシップを提示します。

REFACTOR

コードの改善

レスポンスタイムを低下させている、潜在的な遅延読み込みの問題です。クエリに追加すべき具体的なwith()メソッドをエージェントが提案します。

REVIEW

人間による確認

AIが確信を持ってリファクタリングできない、複雑またはネストされたリレーションシップをフラグ立てします。提案されたEager Loadingがデータに対して安全かどうかを判断してください。

CLEAN

最適化されたコード

修正を適用した後、AIがリレーションシップが正しくEager Loadingされているかを確認します。これにより、データベースへのアクセス回数が一定に保たれることを保証します。

ワークフロー

コードが読み込まれた際、AIが行うこと

AIは、Eloquentロジックに特化した静的解析ツールとして機能します。

  1. リレーションシップのスキャン

    AIがEloquentモデルを読み取り、データがどのように接続されているかをマッピングします。ループ内でリレーションシップのプロパティが呼び出されているパターンを探します。

    validate_laravel_excellence
  2. ループの特定

    コントローラーのロジックを追跡し、リレーションシップがロードされていない状態でコレクションを反復処理していないかを確認します。

    validate_laravel_excellence
  3. Eager Loadingの提案

    検出された問題を解決するために必要な、具体的なEager Loadingの構文をエージェントが記述します。

    validate_laravel_excellence
  4. 修正の検証

    更新されたコードを再チェックし、N+1のパターンが解消されていることを確認します。

    validate_laravel_excellence

試してみる

以下のプロンプトをコピーして開始

これらのプロンプトを使用して解析を開始できます。

出発点

括弧内のテキストは、実際のファイルパスやモデル名に書き換えてください。

Laravel Excellence Prover Connector

準備完了です。MCPクライアントを選択し、セットアップ手順に従ってください。

コネクタリンクhttps://edge.vinkius.com/vk_preview_xVT6WxKnn5P5RXCAVRvEGptio7bgnTnovi5pfdfY/mcp

Claude Desktop

以下の手順で数秒で接続できます。

  1. 1In Claude Desktop, open Settings → Connectors.
  2. 2Click “Add custom connector” and paste the connector link above as the remote MCP server URL.
  3. 3Click Add and start a new chat — Laravel Excellence Prover capabilities are ready to use.
設定 · claude_desktop_config.jsonコピー
{
  "mcpServers": {
    "laravel-excellence-prover-mcp": {
      "url": "https://edge.vinkius.com/vk_preview_xVT6WxKnn5P5RXCAVRvEGptio7bgnTnovi5pfdfY/mcp"
    }
  }
}
チャットにコピー04
  • Userモデルとそのリレーションシップをスキャンして、N+1問題がないか確認してください。

  • app/Http/Controllers/OrderController.php内のコントローラーをスキャンし、遅延読み込みによるボトルネックを特定してください。

  • 最近のプルリクエスト内のこのループを確認し、Eager Loadingによる修正案を提示してください。

  • Productリポジトリ内で、CategoryリレーションシップのEager Loadingが漏れている箇所をすべて見つけてください。

  • Claude
  • ChatGPT
  • Cursor
  • VS Code
  • Windsurf
  • Claude Code
  • JetBrains
  • Cline

ここから始める

Laravel Excellence Proverを接続して、すぐに質問を開始

MCPをクライアントにリンクするだけです。認証情報は暗号化され、すぐにコードへのクエリが可能になります。

Laravel Excellence ProverをAIに接続する

FAQ

動作に関する詳細

  • 01

    AIがファイルを自動的に書き換えることはありますか?

    いいえ。AIは問題を特定してコードを提案しますが、ファイルへの変更は手動で適用する必要があります。

  • 02

    データベース全体をスキャンしますか?

    いいえ。Eloquentモデルと、それらとやり取りするコードのみを分析します。

  • 03

    生のSQLクエリ内の問題も見つけられますか?

    いいえ。このツールは、Eloquentの遅延読み込みによって発生するN+1問題を特定するために設計されています。

  • 04

    マイグレーションファイルのパフォーマンス問題も修正できますか?

    いいえ。データベーススキーマの最適化ではなく、アプリケーションレベルのロジックとリレーションシップの読み込みに焦点を当てています。

  • 05

    どのリレーションシップがロードされているかをどうやって判断しますか?

    コードの実行パスとモデルの定義を分析し、リレーションシップがEager Loadingされずにコレクション上で呼び出されているかどうかを判断します。

  • Laravel Excellence Proverについて他に質問がありますか? Laravel Excellence Prover Connectorの全機能を見る

『Laravel Excellence Prover』を Claude、Cursor、ChatGPT などに接続