我正在尝试获取可能客户的列表以及他们的订单历史总和(ltv)
如果没有 order by,此查询将在一秒钟内加载。使用order by
and 查询将花费超过 90 秒。
SELECT a.customerid,a.firstname,a.lastname,Orders.ltv
FROM customers a
LEFT JOIN (
SELECT customerid,
SUM(amount) as ltv
FROM orders
GROUP BY customerid) Orders
ON Orders.customerid=a.customerid
ORDER BY
Orders.ltv DESC
LIMIT 0,10
有什么想法可以加快速度吗?
编辑:我想我清理了查询太多了。查询实际上比这个版本复杂一点。其他数据是从客户表中选择的,也可以进行排序。