Oracle序列缓存老化过于频繁

5 asp.net oracle sequences

我的asp.net应用程序使用一些序列来生成表主键.Db管理员已将缓存大小设置为20.现在,应用程序正在测试中,并且每天添加一些记录(例如,每个用户测试会话为4).我发现新的测试会话记录总是使用新的缓存部分,好像前一天缓存的数字已过期,每天丢失十分之一的密钥.我想知道是否由于我在我的申请中可能犯的一些错误(处理tableadapters或其他任何东西)或者它是否是通常的行为.处理oracle序列时需要考虑编程最佳实践吗?

由于应用程序不必承担繁重的工作(例如每天20-40个新记录),如果可能是设置较小的高速缓存大小或根本不设置的话,我就会叮叮当当.序列缓存大小调整是否意味着重置当前索引?

提前谢谢您的任何暗示

a_h*_*ame 7

Justin Cave在这个帖子中给出的答案可能对您有意义:

http://forums.oracle.com/forums/thread.jspa?threadID=640623

简而言之:如果序列的访问频率不够高,但是库缓存中有很多"流量",那么序列可能会老化并从缓存中删除.在这种情况下,预先分配的值将丢失.

如果这种情况经常发生在您身上,那么您的序列似乎不会经常使用.

我想减少缓存大小(或完全禁用它)不会对你的情况下的性能产生显着影响(同样考虑到你每天记录20-40条新记录)