关于使用oracle序列增长过快的问题.

如题..
在使用oracle的序列的时候..有时候对数据删除的删除和添加频繁的话.就会使序列增长过快..
比如说..新增加了记录..序列为1,2,3,4,,后来又做了删除操作把.2.3给删除了..如何在下一次增长的时候.使用这些被删除的序列,,
同时又不影响性能呢..?

大家一般对于oralce数据的主键自增问题又是怎么处理的呢.?

我们一般都是不关心这个主键的呀

要想实现使用删除的序列, 就得牺牲性能了..

我想到的办法就是做个冗余的表,

删除数据时, 用触发器把id写入这张表中,
插入的时候先在冗余表中挑个值, 如果找不到再用序列, 可以写个函数来完成

数据库始终维护着一个变量,那就是主键自动增长的最大值。

在每次插入一行记录时,使用这个最大值+1。

[quote]是否数据删除后该数据所占的索引是否也会删除..?还是依然存在/?
[/quote]
这个肯定删除! 只是数据库系统不会再利用 [b]被删除后的索引值[/b]。

这样想,如果这个索引还存在的话,检索的性能就要降低一大半。