Ich brauche eine Abfrage für einen Überblick über den tatsächlichen Bestand (nur eine Zeile für jede eindeutige Produkt-ID) und alle Verkaufs- und Kaufaufträge. Im Moment verwenden wir zwei Unterabfragen (Verkaufs- und Kaufaufträge), da es mehrere Verkaufs- und Kaufaufträge geben kann. Diese Abfrage ist aufgrund der zwei Unterabfragen extrem langsam. Gibt es einen alternativen Weg, um die Summe der Kundenaufträge und die Summe der Bestellungen zu erhalten, zum Beispiel mit einem normalen Linksbeitritt?MySQL beschleunigen Unterabfrage mit Summe
Aktuelle Abfrage
SELECT stock.quanity, salesOrders.quantity, purchaseOrders.quantity
FROM stock
LEFT JOIN (
SELECT product_id, sum(quantity) as quantity
FROM sales_orders
GROUP BY product_id
) salesOrders ON stock.product_id=salesOrders.product_id
LEFT JOIN (
SELECT product_id, sum(quantity) as quantity
FROM purcahse_orders
GROUP BY product_id
) purchaseOrders ON stock.product_id=purchaseOrders.product_id
Haben Sie Indizes für 'stock.product_ID' und' salesOrders.product_ID' und 'purchaseOrders.Product_ID'? – xQbert
Ja, das Produkt ist Spalten haben Indizes. – Stefan