有没有办法确定一个表,一个非常大的表可能,是否有连续/连续的自动增量主键ID?是否有SQL查询方式来确定这个?假设有人从一个非常大的表中随机删除了一些行.我需要知道这已经发生了.
- e.g.
- table XYZ
- id
- 1
- 2
- 3
- 4
- table abc
- 1
- 2
- 4 <--- non contiguous,skipped 3
- 5
你可以比较这两个值:
- SELECT (MAX(ID) - MIN(ID)) + 1,-- e.g. ID 2 - ID 1 = 1 (+1) = 2 rows
- COUNT(ID)
- FROM Table
如果表仍然是连续的,它们将是相同的.