mcpField
L
laravel-performance-eager-loading

laravel-performance-eager-loading

github.com/noartem開発1378 回インストール2 週間前に更新
リポジトリ

laravel-performance-eager-loading について

laravel-performance-eager-loadingは、モデルのリレーションを効率よく読み込み、N+1クエリを防ぐLaravel向けスキルです。明示的なリレーション読み込み、開発・テスト環境での対策、クエリの検証を扱います。

主な機能

  1. 01モデルのリレーションを明示的に読み込み
  2. 02load()とloadMissing()の利用
  3. 03開発・テストでの遅延読み込み防止
  4. 04リレーションクエリと件数の検証

活用シーン

  1. 01投稿者とコメントを効率よく読み込み
  2. 02開発中に意図しない遅延読み込みを検出
  3. 03ログツールでリレーションクエリ量を確認
  4. 04予期しないクエリ増加をテスト

インストール

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

$npx skills add https://github.com/noartem/skills --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());

確認する

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

コメント