gpt4 book ai didi

mysql - 查询加载时间过长

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

 ( SELECT 'no' AS aff,
ss.orderid, ss.secondaff, ss.saletype, ss.price,
ss.affiliate, ss.vendor,
ss.cpa,ss.rebill,ss.salests,ss.fname,ss.lname
FROM sales ss
WHERE 1=1
AND ( ss.vendor='3kpertrade' OR ss.affiliate='3kpertrade')
ORDER BY ss.salests DESC )
UNION ALL
( SELECT 'yes' AS aff, ss.orderid,ss.secondaff,ss.saletype,sf.price,
ss.affiliate,ss.vendor,ss.cpa,ss.rebill,ss.salests,ss.fname,ss.lname
FROM salesaff sf
INNER JOIN sales ss ON ss.orderid=sf.orderid
WHERE 1=1
AND ( ss.vendor='3kpertrade' OR ss.affiliate='3kpertrade')
ORDER BY sf.salests DESC )
ORDER BY salests DESC

我需要从给定条件的销售表中选择数据,如果销售表中的vendor=affiliate和上面的sql中的ss.orderid=sf=orderid,也需要从salesaff表中选择数据。

我在一些帮助下写了这篇文章,但查询需要 195 秒才能加载。 sales 表 包含 8000 行,并按 salests、vendor、affiliate、orderid 进行索引。 salesaff 表包含 6000 行,并按 orderid 索引

两个表都包含相同的列。

一些事实:-> 如果我从两者中删除自定义列("is"作为 aff,“否”作为 aff),那么如果我使用限制 100 或其他值,查询将执行。否则加载需要 195 秒。

如果我使用限制 100,则查询将在 2 秒内执行。但不限于此,它会给出错误代码 500。另外,我还需要总价。有人可以帮助我吗?

最佳答案

第一个效率是子查询中的 order by 不是必需的,除非您在那里放置限制子句。所以试试这个:

(SELECT 'no' AS aff, ss.orderid, ss.secondaff, ss.saletype, ss.price, ss.affiliate, 
ss.vendor, ss. cpa, ss.rebill, ss.salests, ss.fname, ss.lname
FROM sales ss
WHERE 1=1 AND ( ss.vendor='3kpertrade' OR ss.affiliate='3kpertrade')
)
UNION ALL
( SELECT 'yes' AS aff, ss.orderid, ss.secondaff, ss.saletype, sf.price, ss.affiliate,
ss.vendor, ss.cpa, ss.rebill, ss.salests, ss.fname, ss.lname
FROM salesaff sf INNER JOIN
sales ss
ON ss.orderid = sf.orderid
WHERE 1=1 AND ( ss.vendor='3kpertrade' OR ss.affiliate='3kpertrade')
)
ORDER BY salests DESC

关于mysql - 查询加载时间过长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21354074/

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