mcpField
L
laravel:performance-eager-loading

laravel:performance-eager-loading

github.com/jpcaparas開発157171 回インストール17 週間前に更新
リポジトリ

laravel:performance-eager-loading について

Laravel 開発者向けに、リレーション読み込みの負荷軽減と N+1 クエリの防止方法を示すスキルです。先行読み込み、遅延読み込みの抑止、クエリ検証を扱います。

主な機能

  1. 01リレーションの明示的な先行読み込み
  2. 02取得後のリレーション読み込み
  3. 03開発環境での遅延読み込み防止
  4. 04クエリ数の検証

活用シーン

  1. 01ページネーション結果のリレーションクエリ削減
  2. 02開発環境で意図しない遅延読み込みを検出
  3. 03テストやデバッグツールでクエリ数を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jpcaparas/superpowers-laravel --skill laravel:performance-eager-loading

インストール後、Claude Code で/laravel:performance-eager-loadingを入力して読み込まれたか確認します。

詳細

Eager Loading と N+1 の防止

リレーションを明示的にロードする

Post::with(['author', 'comments'])->paginate();
  • 必要に応じて、モデルを取得した後に load()/loadMissing() を使用します
  • ベースクエリとリレーションの両方で、必要なカラムのみを選択します

開発環境/テスト環境で遅延ロードを防ぐ

本番環境以外のサービスプロバイダーに追加します。

Model::preventLazyLoading(! app()->isProduction());

確認する

  • クエリロガーまたはデバッグバーを使用して、リレーションクエリが最小限に抑えられていることを確認します
  • クエリ数を検証するテストを追加するか、予期しないクエリの急増を防ぎます

コメント