oracle序列类似与SQL SERVER里的自增ID一样的,但是由于某种原因可能导致序列的不连续,就好比1,2,3,21,22,高速缓存可以有20个预用的序列,如果没有全用掉,一段时间内,就会丢失,再取下一个序列就会不连续了,后来我把建的那个序列设置成了无高速缓存,发现有时候还是会有不连续的情况出现,中间隔了那么几个数,我想问下还有什么情况会导致取出的序列不联系,程序是没问题的,只是读产生出来的序列而已.另外我还想问下,查看序列的时候有最小值,时间间隔,最大值,下一个数目,这里的时间间隔是表示什么呢,我看到对应的值是1,不知道有什么作用

解决方案 »

  1.   

    问下那个oracle序列的时间间隔是起什么作用的
      

  2.   

    序列设置成无高速缓存,还存在序列号不连续的情况,这不太清楚,没有遇到过,也很难试验,不过我建议楼主再检查检查自己的程序。
    至于第二个时间间隔,你指的是increment_by这个值么?这是序列每次产生的间隔,默认为1,如为10的话则序列产生顺序如下:1 11  21  31。。
    不知道我的回答对你是否有帮助。
      

  3.   

    谢谢大伙了
    因为必须要求尾数是连续的,我改成取表里的maxid了,保险起见不取序列了
    thanks!