Optimierung von graphql-Datenbankabfragen

8

Nehmen wir an, wir haben folgendes graphql-Schema:

%Vor%

Und dann eine Abfrage wie:

%Vor%

Wenn wir zum Beispiel 10 Bücher haben, dann werden wir 10 Autorenabfragen haben, da die Auflösungsfunktion für jedes abgerufene Buch aufgerufen wird:

%Vor%

Stattdessen können wir alle Autorenabfragen als eine einzige Abfrage ausführen:

%Vor%

Gibt es einige funktionierende Lösungen, Best Practices, Techniken oder etwas, das dazu beitragen kann?

    
User Created Image 04.09.2016, 03:15
quelle

2 Antworten

8

Dataloader ist Ihre Antwort, es hat Batch-Funktion, was bedeutet, dass es alle IDs in die Warteschlange stellen wird. Und erst wenn es fertig ist, wird es als Batch gezogen Demo kann hier gefunden werden: Ссылка (die letzten 5 Minuten im Besonderen) Algorithem erklärt kann hier gefunden werden: Ссылка

Genießen Sie:)

    
HagaiCo 04.09.2016, 09:15
quelle
4

DataLoader ist eine großartige datenbankunabhängige Lösung. Wenn Sie SQL verwenden, ist Join Monster besser auf relationale DBs zugeschnitten und übersetzt die GraphQL-Abfragen sogar direkt in SQL eine einzelne Hin- und Rückfahrt Eine andere Alternative ist graph-joiner .

    
Andy Carlson 09.01.2017 17:32
quelle

Tags und Links