你需要为什么创建缺口?要保留ID?我宁愿不惜一切代价“修复”设计并更新其他模块,而不是摸一个序列。
我暗示着通过为每个ID插入一个默认行(标记为无效)来分配并返回该ID,而不是明确地增加序列。这种方法是一致且可移植的。以后,你可以通过匹配的默认值来更新这些默认行,而不必使用显式的序列值来强制插入。这需要更多的内存,但没有锁。在过期的行上进行垃圾收集可以在这里提供帮助。“插入或更新”语句可以重新创建垃圾收集的行,但是我不会这样做。

你需要为什么创建缺口?要保留ID?我宁愿不惜一切代价“修复”设计并更新其他模块,而不是摸一个序列。
我暗示着通过为每个ID插入一个默认行(标记为无效)来分配并返回该ID,而不是明确地增加序列。这种方法是一致且可移植的。以后,你可以通过匹配的默认值来更新这些默认行,而不必使用显式的序列值来强制插入。这需要更多的内存,但没有锁。在过期的行上进行垃圾收集可以在这里提供帮助。“插入或更新”语句可以重新创建垃圾收集的行,但是我不会这样做。