我正在运行这个查询,需要很长时间才能运行超过400秒。我只有2万张票。我想把时间减到几秒钟
select A.ticket_id, A.ticket_number,
P.ticket_id, P.ticket_number,
count(P.ticket_number) as cnt
from ticket A
inner join ticket P on A.ticket_id != P.ticket_id
where
((A.ticket_number like concat("%", lpad(P.pick1,2,0), "%"))
(A.ticket_number like concat("%", lpad(P.pick2,2,0), "%"))
(A.ticket_number like concat("%", lpad(P.pick3,2,0), "%"))
(A.ticket_number like concat("%", lpad(P.pick4,2,0), "%"))
(A.ticket_number like concat("%", lpad(P.pick5,2,0), "%"))
(A.ticket_number like concat("%", lpad(P.pick6,2,0), "%")) > 3)
group by A.ticket_id
having cnt > 11;
有什么方法可以最小化这个查询的执行吗?
暂无答案!
目前还没有任何答案,快来回答吧!