gpt4 book ai didi

MYSQL NOT IN 函数 - 如何改进并更快地获取它

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

我有一个 CRM,其中一个查询看起来像这样:

SELECT DISTINCT tb1.customerID 
FROM sales_company AS tb1
WHERE rdate BETWEEN '2016-02-01'
AND '2016-02-14'
AND type='payment'
AND customerID
NOT IN (SELECT customerID
FROM sales_company
WHERE rdate < tb1.rdate
AND type='payment'
GROUP BY customerID)
GROUP BY customerID`

通过这个查询,我得到了新客户在查询期间第一次支付了多少费用。

问题:我在每家公司都有很多表,所以我需要在每次刷新时运行此查询大约 30 次。

是的,我知道这很糟糕,我构建的这个系统很旧(7 年前),除了更改此查询外,我不能过多地接触她。

有一些很好的建议,你们知道如何改进这个查询以获取末尾的行数吗?

谢谢!

最佳答案

能否请您发布表类型和解释以及您的查询以查看问题所在。

EXPLAIN  SELECT DISTINCT tb1.customerID 
FROM sales_company AS tb1
WHERE rdate BETWEEN '2016-02-01'
AND '2016-02-14'
AND TYPE='payment'
AND
NOT EXISTS (SELECT customerID
FROM sales_company
WHERE customerID = tb1.customerID
AND rdate < tb1.rdate
AND TYPE='payment'
)
GROUP BY customerID;

我只测试了 10000 行

关于MYSQL NOT IN 函数 - 如何改进并更快地获取它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35386288/

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