gpt4 book ai didi

mysql - 不使用 IN 语句重新设计查询

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

我有如下查询。此查询运行良好,但由于我有大量数据要检查,因此此查询运行速度较慢。

谁能帮我优化这个查询?

SELECT * from trn where concat(comp_id,cus_id) 
IN (select concat(comp_id,cus_id) FROM cus where sid='A0001')
AND docdate between ('2018-01-01') and ('2018-04-30')

最佳答案

concat 可能会导致这些性能问题,因为它不能使用索引。

但是MySQL支持多列子查询,干脆去掉:

SELECT * from trn 
where (comp_id,cus_id) IN
( select comp_id,cus_id
FROM cus
where sid='A0001'
)
AND docdate between ('2018-01-01') and ('2018-04-30')

关于mysql - 不使用 IN 语句重新设计查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54106733/

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