N+1-query
Bij N+1 volgt op een lijstquery een extra ophaalactie per resultaat. De structuur telt, niet alleen een hoog aantal aanroepen.
Een N+1-query ontstaat wanneer een applicatie eerst een lijst laadt en daarna voor elk item nog een query uitvoert. Het aantal toegangen groeit daarmee met het aantal items.
Een klein rekenvoorbeeld
In een hypothetisch portaal volgen op een lijst met 10 bestellingen afzonderlijke aanroepen voor de afleveradressen. Samen zijn dat 11 databaseaanroepen. Afhankelijk van de behoefte kunnen gerelateerde gegevens ook begrensd samen worden geladen.
Veel query’s alleen bewijzen dit patroon niet. Het verband met het doorlopen van de resultaten moet zichtbaar zijn. Een willekeurig grote gezamenlijke query is evenmin automatisch beter. Benodigde gegevens, rechten en werkelijke uitvoeringskosten blijven onderdeel van de beoordeling.
Bronnen
Verwante begrippen
- DatabasequeryEen databasequery vraagt gegevens op onder vastgelegde voorwaarden. Selectie, omvang en volgorde moeten bij het werkdoel passen.
- ResponstijdResponstijd vraagt om een vastgelegd begin en einde. Een API-antwoord ontvangen en een bruikbare weergave bereiken zijn verschillende trajecten.
- LegacysysteemEen bestaand systeem dat nog wordt gebruikt, met gegroeide technische en bedrijfsafhankelijkheden.
- MultitenancyMultitenancy ondersteunt afzonderlijke klant- of groepsbereiken in één oplossing. Een tenant is niet automatisch één persoon of één database.
- BrowsercacheDe browsercache bewaart geschikte HTTP-antwoorden voor later gebruik. Hergebruik en validatie volgen de toepasselijke regels.
- Cache-invalidatieCache-invalidatie beëindigt hergebruik van een kopie volgens vastgelegde regels. Het bronrecord blijft daarvan gescheiden.
Artikelen over dit onderwerp








Softwareontwikkeling met ASES
Maatwerksoftware, web- en mobiele apps



