ich über GraphQL studieren, und ich würde verstehen, wie GraphlQL eine Abfrage liegen durchführen wird:GraphQL - Datenbank überladen?
poc (id: $id) {
tradingName
id
products{
id
title
imageUrl
productVariants {
title
}
images{
url
}
}
}
Auf resolve_all_products
werde ich nur Produkte für ID abfragen. z.B. select * from products where poc_id=10
Auf dem resolve_product_variants
Knoten werde ich für alle Produktvarianten mit einer bestimmten Produkt-ID abfragen. z.B. select * from product_variants where product_id=X
Stellen Sie sich nun vor, dass ich 20 Produkte habe und jede von ihnen 2 Produktvarianten hat. Also werde ich eine Abfrage machen, um alle Produkte (20) und dann 20 mehr zu bekommen. Jeder von ihnen erhält alle Produktvarianten (2) von einem bestimmten Produkt.
Also statt einer einzigen Join-Abfrage werde ich 21 Abfragen durchführen. Habe ich recht? Gibt es trotzdem etwas zu verhindern?