对涉及到分区表都加上了个兜底的pfuture分区,问题解决了。感觉是扫描的中间数据有不自洽的,导致扫描到其他表时候,使用的分区键可能超过了原始表的限制(其实完全可以把这些数据直接当成没有匹配到处理,反正原始表肯定没这些数据)。执行的添加兜底分区的SQL为:
alter table test.t1 ADD PARTITION (PARTITION pfuture VALUES LESS THAN (MAXVALUE));
PS: 由于TiDB 6.1还不支持
REORGANIZE PARTITION
操作,所以为了能定时续建分区,只创建了下一年的分区,并没有创建兜底的pfuture
分区