我用下面这个sql创建sequence生成主键,为什么ID号总是跳着,有什么好点的方法能解决下么,不好意思,就这点分了,望高手指点下,谢谢!
create sequence sequencename start with 1 INCREMENT BY 1
------解决方案--------------------
自己生成个序列表?然后自己维护?
又或者select max(id)+1 from table
------解决方案--------------------
跳号应该是因为事务rollback或者数据库当机,导致部分已经产生的序列丢失造成的。如果跳号幅度比较大,应该是设置了cache之后,遇到数据库当机,重启后序列取cache的关系。
目前看起来用sequence生成Key,不可避免出现跳号,若不想跳号,还是自己实现的好。
个人愚见。