MySQL多表之间关联查询,如果要命中索引,一定要保证关联字段类型一致!
最近利用flowable流程框架开发,需要业务表与流程历史记录之间,用PROC_INST_ID_字段关联,查询非常慢,最慢几乎达到10s。查看SQL执行计划时发现,没有命中业务表的PROC_INST_ID_索引。仔细检查后发现,在ACT_HI_PROCINST表中,PROC_INST_ID_字段类型为utf8_bin,而我的业务表中PROC_INST_ID_字段类型为utf8mb4,导致索引失效,全表扫描。业务表字段类型改为utf8后查询时间恢复正常。