# Performance Optimization (Laravel) > クエリの最適化、N+1問題、eager loading、lazy loading、キャッシュ戦略、データベースのインデックス作成、プロファイリングツール - 22 面接問題 - Senior - [面接問題: Laravel](https://sharpskill.dev/ja/technologies/laravel/interview-questions.md) ## 1. LaravelにおけるN+1問題とは何ですか? **回答** N+1問題は、Eloquentがコレクションを取得するために1つのクエリを実行し、その後リレーションを読み込むために要素ごとに追加のクエリを実行するときに発生します。これによりデータベースアクセスが増大し、大量のデータでパフォーマンスが大幅に低下します。with()によるeager loadingを使用すると、N個のクエリの代わりに1つの追加クエリですべてのリレーションを読み込めます。 ## 2. リレーションを読み込む際にN+1問題を解決するにはどのメソッドを使うべきですか? **回答** with()メソッドはeager loadingを実行し、リレーションを1つの追加クエリで読み込みます。リレーションにアクセスする際にモデルごとにクエリを実行するのではなく、すべてのリレーションを事前に読み込みます。これによりSQLクエリの数が大幅に減り、パフォーマンスが向上します。 ## 3. eager loadingとlazy loadingの違いは何ですか? **回答** eager loadingはwith()を使ってメインクエリと同時にリレーションをすぐに読み込みますが、lazy loadingは最初のアクセス時にオンデマンドでリレーションを読み込みます。lazy loadingはループ内でリレーションにアクセスするとN+1問題を引き起こす可能性があります。リレーションを使用する場合、複数のクエリを避けるためにeager loadingが推奨されます。 ## さらに19問利用可能 - LaravelにおけるCache::remember()の役割は何ですか? - Cache::remember()とCache::rememberForever()の違いは何ですか? 無料で登録: https://sharpskill.dev/ja/login ## その他のLaravel面接トピック - [PHPの基礎](https://sharpskill.dev/ja/technologies/laravel/interview-questions/php-basics.md): 25問, Junior - [PHP オブジェクト指向の基礎](https://sharpskill.dev/ja/technologies/laravel/interview-questions/php-oop-essentials.md): 20問, Junior - [Composer & Autoloading](https://sharpskill.dev/ja/technologies/laravel/interview-questions/composer-autoloading.md): 18問, Junior - [Laravelの基礎](https://sharpskill.dev/ja/technologies/laravel/interview-questions/laravel-fundamentals.md): 20問, Junior - [Laravel ルーティング](https://sharpskill.dev/ja/technologies/laravel/interview-questions/laravel-routing.md): 20問, Junior - [Blade Templates](https://sharpskill.dev/ja/technologies/laravel/interview-questions/blade-templates.md): 18問, Junior - [Request & Response](https://sharpskill.dev/ja/technologies/laravel/interview-questions/request-response.md): 20問, Junior - [Eloquent ORM の基礎](https://sharpskill.dev/ja/technologies/laravel/interview-questions/eloquent-orm-basics.md): 22問, Junior - [Eloquent Relationships](https://sharpskill.dev/ja/technologies/laravel/interview-questions/eloquent-relationships.md): 25問, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/ja/technologies/laravel/interview-questions/database-migrations.md): 20問, Mid-Level - [バリデーションとフォーム](https://sharpskill.dev/ja/technologies/laravel/interview-questions/validation-forms.md): 22問, Mid-Level - [認証](https://sharpskill.dev/ja/technologies/laravel/interview-questions/authentication.md): 20問, Mid-Level - [認可とPolicies](https://sharpskill.dev/ja/technologies/laravel/interview-questions/authorization-policies.md): 18問, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/ja/technologies/laravel/interview-questions/api-resources-authentication.md): 26問, Mid-Level - [ミドルウェア](https://sharpskill.dev/ja/technologies/laravel/interview-questions/middleware.md): 18問, Mid-Level - [Service Container & DI](https://sharpskill.dev/ja/technologies/laravel/interview-questions/service-container-di.md): 20問, Mid-Level - [Queues & Jobs](https://sharpskill.dev/ja/technologies/laravel/interview-questions/queues-jobs.md): 22問, Mid-Level - [Events & Listeners](https://sharpskill.dev/ja/technologies/laravel/interview-questions/events-listeners.md): 18問, Mid-Level - [通知とメール](https://sharpskill.dev/ja/technologies/laravel/interview-questions/notifications-mail.md): 20問, Mid-Level - [File Storage](https://sharpskill.dev/ja/technologies/laravel/interview-questions/file-storage.md): 18問, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/ja/technologies/laravel/interview-questions/testing-phpunit.md): 24問, Mid-Level - [Caching](https://sharpskill.dev/ja/technologies/laravel/interview-questions/caching.md): 18問, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/ja/technologies/laravel/interview-questions/livewire-inertia.md): 20問, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/ja/technologies/laravel/interview-questions/eloquent-advanced.md): 24問, Senior - [Repository Pattern](https://sharpskill.dev/ja/technologies/laravel/interview-questions/repository-pattern.md): 20問, Senior - [Laravel パッケージ](https://sharpskill.dev/ja/technologies/laravel/interview-questions/laravel-packages.md): 20問, Senior - [Security Best Practices](https://sharpskill.dev/ja/technologies/laravel/interview-questions/security-best-practices.md): 22問, Senior - [Laravel Octane](https://sharpskill.dev/ja/technologies/laravel/interview-questions/laravel-octane.md): 18問, Senior - [Laravel Distributed Systems](https://sharpskill.dev/ja/technologies/laravel/interview-questions/laravel-distributed-systems.md): 22問, Senior - [Observability & Monitoring](https://sharpskill.dev/ja/technologies/laravel/interview-questions/observability-monitoring.md): 20問, Senior - [Deployment & DevOps](https://sharpskill.dev/ja/technologies/laravel/interview-questions/deployment-devops.md): 20問, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ja/technologies/laravel/interview-questions/performance-optimization