-- 问题SQL(前提:ia_ledger_b表存在src_bill_row_id索引,字段类型为字符串; voucher_saleinvoicedetail为整形)
uorders.voucher_saleinvoicedetail a
left join fieia.ia_ledger_b d on
-- a.id = d.src_bill_row_id 调整前
-- 调整后
cast(a.id as varchar(66)) = d.src_bill_row_id (保持字段类型一致)
-- 调整之前的计划
#CSCN2: [22, 143667, 236]; INDEX33608843(ia_ledger_b as d)
-- 调整后的计划
#BLKUP2: [1, 1, 0]; I_IA_LEDGER_B_SRC_BILL_ROW(d)
#SSEK2: [1, 1, 0]; scan_type(ASC), I_IA_LEDGER_B_SRC_BILL_ROW(ia_ledger_b as d), scan_range[(exp_cast(a.id),min,min),(exp_cast(a.id),max,max));
总结: 因两张表字段类型不一致导致没有走索引,处理方式,在join 里转换字段类型为一致
标签:cast,处理,ledger,--,达梦慢,SQL,ia,id,row From: https://www.cnblogs.com/yangxijun/p/18455577