Query N+1
Nel modello N+1, una query di elenco è seguita da un accesso per ogni risultato. Conta questa struttura, non solo un alto numero di chiamate.
Una query N+1 si verifica quando un’applicazione carica prima un elenco e poi esegue un’altra query per ogni voce. Il numero di accessi cresce quindi con quello delle voci.
Un piccolo calcolo
In un portale ipotetico, a un elenco di 10 ordini seguono accessi separati ai rispettivi indirizzi di consegna. Insieme sono 11 chiamate al database. Secondo il bisogno, i dati collegati potrebbero essere caricati insieme entro limiti adeguati.
Molte query non dimostrano da sole questo modello. Deve essere visibile il legame con il ciclo sui risultati. Nemmeno una query congiunta arbitrariamente grande è automaticamente migliore. Volume necessario, permessi e costo reale di esecuzione restano parte della verifica.
Fonti
Termini correlati
- Query di databaseUna query richiede dati secondo condizioni definite. Selezione, ambito e ordine devono essere adatti allo scopo del lavoro.
- Tempo di rispostaIl tempo di risposta richiede inizio e fine definiti. Ricezione della risposta API e vista utilizzabile misurano passaggi diversi.
- Sistema legacyUn sistema esistente ancora utilizzato, con dipendenze tecniche e aziendali accumulate nel tempo.
- Architettura multi-tenantUna soluzione multi-tenant supporta ambiti separati per clienti o gruppi. Un tenant non equivale automaticamente a una persona o a un database.
- Cache del browserLa cache del browser conserva risposte HTTP adatte. Riuso e validazione seguono le regole applicabili.
- Invalidazione della cacheL’invalidazione termina il riuso di una copia secondo regole definite. Il record di origine resta distinto.
Articoli sul tema








Sviluppo software con ASES
Software su misura, app web e mobile



