# Wydajność Django (Django) > Optymalizacja zapytań, problem N+1, indeksy bazy danych, connection pooling, profiling, monitoring - 24 pytań z rozmów - Senior - [Pytania z rozmów: Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne.md) ## 1. Jaki jest najczęstszy problem wydajnościowy związany z zapytaniami ORM Django? **Odpowiedź** Problem N+1 to najczęstszy problem wydajnościowy w ORM Django. Występuje, gdy początkowe zapytanie pobiera N obiektów, a następnie wykonywanych jest N dodatkowych zapytań w celu pobrania obiektów powiązanych. Na przykład iterowanie po artykułach i dostęp do ich autora generuje jedno zapytanie na artykuł zamiast pojedynczego zapytania z joinem. ## 2. Której metody należy użyć do rozwiązania problemu N+1 w relacji ForeignKey? **Odpowiedź** select_related() to odpowiednia metoda do rozwiązania problemu N+1 w relacjach ForeignKey i OneToOneField. Wykonuje join SQL i pobiera obiekty powiązane w pojedynczym zapytaniu. prefetch_related() jest używany dla relacji ManyToMany lub relacji odwrotnych (ForeignKey reverse). ## 3. Kiedy należy używać prefetch_related() zamiast select_related()? **Odpowiedź** prefetch_related() jest przeznaczony dla relacji ManyToMany i relacji odwrotnych (ForeignKey reverse). W przeciwieństwie do select_related(), które wykonuje join SQL, prefetch_related() wykonuje oddzielne zapytanie i realizuje łączenie w Pythonie. Pozwala to uniknąć duplikacji danych, która wystąpiłaby przy joinie SQL na relacjach many-to-many. ## Jeszcze 21 dostępnych pytań - Jak używać Prefetch() do dostosowywania zapytań prefetch_related()? - Jaka jest główna korzyść z dodania indeksu bazy danych do pola? Zarejestruj się za darmo: https://sharpskill.dev/pl/login ## Inne tematy rekrutacyjne Django - [Podstawy Pythona](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/python-basics.md): 25 pytań, Junior - [Python obiektowy](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/python-oop.md): 20 pytań, Junior - [Podstawy Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-fundamentals.md): 20 pytań, Junior - [Models Django - Podstawy](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-models-basics.md): 22 pytań, Junior - [Widoki Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-views.md): 20 pytań, Junior - [Szablony Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-templates.md): 18 pytań, Junior - [Formularze Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-forms.md): 22 pytań, Mid-Level - [Zaawansowane QuerySets](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-querysets.md): 25 pytań, Mid-Level - [Uwierzytelnianie w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-authentication.md): 22 pytań, Mid-Level - [Middleware Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-middleware.md): 18 pytań, Mid-Level - [Django Admin](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-admin.md): 20 pytań, Mid-Level - [Django REST Framework](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-rest-framework.md): 30 pytań, Mid-Level - [Sygnały Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-signals.md): 18 pytań, Mid-Level - [Przesyłanie plików](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-file-upload.md): 20 pytań, Mid-Level - [Buforowanie w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-caching.md): 20 pytań, Mid-Level - [Sesje Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-sessions.md): 18 pytań, Mid-Level - [Email w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-email.md): 18 pytań, Mid-Level - [Testowanie w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-testing.md): 22 pytań, Mid-Level - [Bezpieczeństwo Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-security.md): 22 pytań, Mid-Level - [Wdrażanie Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-deployment.md): 24 pytań, Mid-Level - [Zaawansowany Django ORM](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-orm-advanced.md): 28 pytań, Senior - [Django & Celery](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-celery.md): 22 pytań, Senior - [Django Channels](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-channels.md): 24 pytań, Senior - [Django & GraphQL](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-graphql.md): 24 pytań, Senior - [Django & Docker](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-docker.md): 20 pytań, Senior - [Django w ekosystemie mikroserwisów](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-microservices.md): 24 pytań, Senior - [Niestandardowe komendy Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-custom-commands.md): 18 pytań, Senior - [Internacjonalizacja w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-internationalization.md): 20 pytań, Senior - [Wzorce projektowe w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-design-patterns.md): 24 pytań, Senior - [Django Async i ASGI](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-async-asgi.md): 26 pytań, Senior - [Settings i konfiguracja produkcyjna](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-settings-configuration.md): 22 pytań, Senior - [Observability i monitoring](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-observability.md): 24 pytań, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-performance