gpt4 book ai didi

使用左连接的 MySQL 非常慢的查询

转载 作者:行者123 更新时间:2023-11-29 02:02:02 25 4
gpt4 key购买 nike

<分区>

我有一个在相当大的数据集上运行的查询。
非常慢...

我需要优化这个查询,但不确定从哪里开始(除了索引)。

提前致谢!

SELECT d.distributor_id, 
d.first_name,
d.last_name,
d.sponsor_id,
COUNT(f.business_level) AS total_enrollments,
SUM(CASE WHEN UPPER(f.business_level) = 'EXECUTIVE' THEN 1 else 0 end)
AS executive_enrollments,
SUM(CASE WHEN UPPER(f.business_level) = 'PERSONAL' THEN 1 else 0 end)
AS personal_enrollments,
SUM(CASE WHEN UPPER(f.business_level) = 'PREFERRED CUSTOMER' THEN 1 else 0 end)
AS preferred_customer_enrollments,
IFNULL(cf.commission_paid, 0) AS commission_paid,
IFNULL(cf.retention_earned, 0) AS retention_earned,
COUNT(df.order_type) AS total_autoships,
IFNULL(a.consecutive_streak, 0) AS autoship_streak,
IFNULL(a.enrollment_date, "Not Enrolled") AS autoship_enrollment,
d.highest_rank
FROM warehouse.distributor d
LEFT JOIN warehouse.enrollment_detail_fact f ON d.distributor_id = f.distributor_id
LEFT JOIN warehouse.country c ON d.country = c.name
AND c.country_id = 185
LEFT JOIN warehouse.autoship a ON d.distributor_id = a.distributor_id
LEFT JOIN warehouse.order_detail_fact df ON d.distributor_id = df.distributor_id
AND UPPER(order_type) = 'AUTOSHIP'
AND date_id IN(SELECT date_id FROM warehouse.date
WHERE DATE BETWEEN '2012-10-10'
AND '2012-10-11' ORDER BY date DESC)
LEFT JOIN warehouse.commission_detail_fact cf ON d.distributor_id = df.distributor_id
LEFT JOIN db.commission_level_type_details cl ON d.highest_rank = cl.name
WHERE d.active = 1
AND cl.commission_level_type_detail_id IN (23)
GROUP BY distributor_id
ORDER BY first_name;

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com