比如检查一个20万条记录的订单表orders
SELECT t1.id + 1 AS start_range
FROM orders t1
LEFT JOIN orders t2 ON t1.id + 1 = t2.id
WHERE t2.id IS NULL AND t1.id < (SELECT MAX(id) FROM orders);
查询结果:
再检查orders表确实如此:
1.缺少了45110
2.从45130开始缺少了一段
比如检查一个20万条记录的订单表orders
SELECT t1.id + 1 AS start_range
FROM orders t1
LEFT JOIN orders t2 ON t1.id + 1 = t2.id
WHERE t2.id IS NULL AND t1.id < (SELECT MAX(id) FROM orders);
查询结果:
再检查orders表确实如此:
1.缺少了45110
2.从45130开始缺少了一段