# Prestazioni di Django (Django) > Ottimizzazione delle query, problema N+1, indici del database, connection pooling, profiling, monitoring - 24 domande da colloquio - Senior - [Domande da colloquio: Django](https://sharpskill.dev/it/technologies/django/domande-colloquio.md) ## 1. Qual è il problema di prestazioni più comune legato alle query dell'ORM di Django? **Risposta** Il problema N+1 è il problema di prestazioni più comune con l'ORM di Django. Si verifica quando una query iniziale recupera N oggetti e poi vengono eseguite N query aggiuntive per recuperare gli oggetti correlati. Ad esempio, iterare sugli articoli e accedere al loro autore genera una query per articolo invece di una singola query con join. ## 2. Quale metodo si dovrebbe usare per risolvere il problema N+1 con una relazione ForeignKey? **Risposta** select_related() è il metodo appropriato per risolvere il problema N+1 con le relazioni ForeignKey e OneToOneField. Esegue un join SQL e recupera gli oggetti correlati in una singola query. prefetch_related() viene usato per le relazioni ManyToMany o le relazioni inverse (ForeignKey reverse). ## 3. Quando si dovrebbe usare prefetch_related() invece di select_related()? **Risposta** prefetch_related() è progettato per le relazioni ManyToMany e le relazioni inverse (ForeignKey reverse). A differenza di select_related() che esegue un join SQL, prefetch_related() esegue una query separata ed effettua il join in Python. Questo evita la duplicazione dei dati che si verificherebbe con un join SQL sulle relazioni many-to-many. ## Altre 21 domande disponibili - Come usare Prefetch() per personalizzare le query di prefetch_related()? - Qual è il vantaggio principale di aggiungere un indice del database su un campo? Registrati gratis: https://sharpskill.dev/it/login ## Altri argomenti di colloquio Django - [Fondamenti di Python](https://sharpskill.dev/it/technologies/django/domande-colloquio/python-basics.md): 25 domande, Junior - [Python orientato agli oggetti](https://sharpskill.dev/it/technologies/django/domande-colloquio/python-oop.md): 20 domande, Junior - [Fondamenti di Django](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-fundamentals.md): 20 domande, Junior - [Models Django - Fondamenti](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-models-basics.md): 22 domande, Junior - [Viste Django](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-views.md): 20 domande, Junior - [Template Django](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-templates.md): 18 domande, Junior - [Form Django](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-forms.md): 22 domande, Mid-Level - [QuerySet avanzati](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-querysets.md): 25 domande, Mid-Level - [Autenticazione Django](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-authentication.md): 22 domande, Mid-Level - [Middleware Django](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-middleware.md): 18 domande, Mid-Level - [Django Admin](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-admin.md): 20 domande, Mid-Level - [Django REST Framework](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-rest-framework.md): 30 domande, Mid-Level - [Segnali Django](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-signals.md): 18 domande, Mid-Level - [Caricamento file](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-file-upload.md): 20 domande, Mid-Level - [Caching di Django](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-caching.md): 20 domande, Mid-Level - [Sessioni Django](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-sessions.md): 18 domande, Mid-Level - [Email in Django](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-email.md): 18 domande, Mid-Level - [Testing in Django](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-testing.md): 22 domande, Mid-Level - [Sicurezza di Django](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-security.md): 22 domande, Mid-Level - [Deployment di Django](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-deployment.md): 24 domande, Mid-Level - [Django ORM avanzato](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-orm-advanced.md): 28 domande, Senior - [Django & Celery](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-celery.md): 22 domande, Senior - [Django Channels](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-channels.md): 24 domande, Senior - [Django & GraphQL](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-graphql.md): 24 domande, Senior - [Django & Docker](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-docker.md): 20 domande, Senior - [Django in un ecosistema di microservizi](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-microservices.md): 24 domande, Senior - [Comandi Django personalizzati](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-custom-commands.md): 18 domande, Senior - [Internazionalizzazione in Django](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-internationalization.md): 20 domande, Senior - [Design Pattern in Django](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-design-patterns.md): 24 domande, Senior - [Django Async e ASGI](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-async-asgi.md): 26 domande, Senior - [Settings e configurazione di produzione](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-settings-configuration.md): 22 domande, Senior - [Observability e monitoring](https://sharpskill.dev/it/technologies/django/domande-colloquio/django-observability.md): 24 domande, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/it/technologies/django/domande-colloquio/django-performance