同一个sql,数据量相同的表,两个集群执行计划不一样,tidb版本低的集群执行计划更好

sql文本:
select

line_code as lineCode,

sum(amount) as amount

from

header

join ext on

ext.id = header.id

join event on

header.id = event.rcv_header_id

left join line on

line.rcv_header_id = header.id

where

ext.order_id = 8405253

and header.rcp_business_type in (‘edrwcew’)

and event.event_at >= 1669824000000

and event.event_at <= 1672502399999

group by

line_code,

order_id;
低版本(2.0)tidb执行计划:


高版本(5.1.2)执行计划:

5.1.2的收集了一下统计信息,两边执行计划一样了

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。