大表数据高效切片:基于主键的无排序Where条件生成算法在异构数据库迁移的项目中,核对迁移前后的大表数据一致性始终是一个难题,我之前有写过一个在库内计算全表特征值的对比工具,但只适用于比对ORACLE和OG/PG系数据库,而且只能判断全表是否一致,无法找到差异行。另外,如果表超级大,进行一次全表扫描的开销也非常大,因此必须要考虑分片算法。而分片算法大多需要排序,一般就是基于主键排序,主键有多个字段就都要排,如果使用行号去做切片,那会导致每个分片查询实际上都进行了全表扫描,性能依旧很差。那么自然就能想到,需要使用索引字段作为分片条件,但复合主键如何生成where