Das N+1-Problem bezeichnet ein Abfragemuster, bei dem eine Anwendung für jedes weitere Detail eine eigene, separate Abfrage startet, statt die Daten gebündelt abzurufen. Das Muster führt zu vielen Einzelabfragen und unnötiger Netzwerklast.
Beispiel Webhooks
Webhooks von SAP Business One lieferten bislang im Grundformat nur den Schlüssel eines Objekts, etwa die DocEntry eines Belegs. Für jedes weitere Detail musste der Empfänger deshalb eine eigene Abfrage an den Service Layer stellen. Das N+1-Problem war damit ein zentrales technisches Problem bisheriger Webhooks.
Lösung mit Feature Package 2608
Mit Feature Package 2608 schickt der Service Layer über BizObjProps ausgewählte Felder direkt im Ereignis mit. Der Empfänger erhält dadurch mehr Kontext, statt nur den Schlüssel. Diese Anreicherung der Nutzdaten reduziert die Zahl der Folgeabfragen.
Vermeidung bei Abfragen an den Service Layer
Auch bei eigenen Abfragen an den Service Layer lässt sich das Muster vermeiden. Die Anwendung sammelt dazu zunächst die benötigten Schlüssel. Anschließend ruft sie die Datensätze gebündelt über einen OR-Filter ab. Zusätzlich fragt sie über $select nur die benötigten Felder an.
Shopware 6 für SAP Business One
SAP Business One und DATEV – Synchron
DATEV und SAP Business One Export & Import
Elektronische Rechnungen an Behörden
SAP Business One Connect für Frachtführer

