Try to speed up time-aggregates
This commit is contained in:
@@ -154,13 +154,12 @@ async function calculateTimeAggregates(startTime, totalProducts, processedCount
|
|||||||
FROM products p
|
FROM products p
|
||||||
FORCE INDEX (PRIMARY)
|
FORCE INDEX (PRIMARY)
|
||||||
INNER JOIN orders o FORCE INDEX (idx_orders_metrics) ON p.pid = o.pid
|
INNER JOIN orders o FORCE INDEX (idx_orders_metrics) ON p.pid = o.pid
|
||||||
AND o.canceled = false
|
|
||||||
AND o.date >= DATE_SUB(CURRENT_DATE, INTERVAL 12 MONTH)
|
|
||||||
LEFT JOIN purchase_orders po FORCE INDEX (idx_po_metrics) ON p.pid = po.pid
|
LEFT JOIN purchase_orders po FORCE INDEX (idx_po_metrics) ON p.pid = po.pid
|
||||||
AND po.date >= DATE_SUB(CURRENT_DATE, INTERVAL 12 MONTH)
|
AND po.date >= DATE_SUB(CURRENT_DATE, INTERVAL 12 MONTH)
|
||||||
WHERE p.pid IN (?)
|
WHERE p.pid IN (?)
|
||||||
|
AND o.canceled = false
|
||||||
|
AND o.date >= DATE_SUB(CURRENT_DATE, INTERVAL 12 MONTH)
|
||||||
GROUP BY p.pid, YEAR(o.date), MONTH(o.date)
|
GROUP BY p.pid, YEAR(o.date), MONTH(o.date)
|
||||||
HAVING year IS NOT NULL AND month IS NOT NULL
|
|
||||||
`, [batch.map(row => row.pid)]);
|
`, [batch.map(row => row.pid)]);
|
||||||
|
|
||||||
// Update from temporary table
|
// Update from temporary table
|
||||||
|
|||||||
Reference in New Issue
Block a user