関連する販売、販売アイテム、およびスタッフ メンバーに基づいて、販売情報の行を作成するクエリがあります。私の開発サーバーでは売上が 10 ~ 20 で問題なく動作しますが、売上が 5,000 を超えるエンド サーバーで実行すると、システム全体が停止します。
SELECT Sales.SaleID,
Sales.StaffID,
Sales.CustomerID,
Sales.Timestamp,
Sales.Refunded,
Sales.PaymentType,
Staff.Forename AS staffForename,
Staff.Surname AS staffSurname,
itemList, sumOfCost,
sumOfPrice,
a.sumOfPrice - a.sumOfCost AS sumOfProfit
FROM Sales
INNER JOIN Staff ON Sales.StaffID = Staff.StaffID
LEFT JOIN (
SELECT SaleID,
GROUP_CONCAT(Quantity, ' x ', Name) itemList,
SUM(Cost*Quantity) sumOfCost, SUM(Price*Quantity) sumOfPrice
FROM SaleItems GROUP BY SaleID
) a
ON a.SaleID = Sales.SaleID
WHERE Sales.Deleted = '0'
AND Sales.ShopID = '0'
ORDER BY Sales.Timestamp DESC LIMIT 0,15
どんな助けでも大歓迎です!このクエリの最後の試行には 65 秒かかりました...