大型数据集持久化期间的 Oracle 序列生成性能

Woo*_*Moo 3 performance oracle sequence

在 Oracle 序列的上下文中,当持久化 > 2 亿条记录时,如果序列缓存是默认值,是否会对数据库产生性能影响10000?也就是说,1,000,000在将使用 > 2 亿个序列的事务期间,将此值修改为周围的值是否会给我带来任何好处?

Jus*_*ave 7

CACHE序列越大,当需要生成一组新值时,您需要等待 Oracle 获取锁存器以便能够更新数据字典的次数就越少。通过增加缓存的大小,肯定至少有一些性能优势的潜力。另一方面,如果CACHE已经是 10,000,您只需要在 2 亿行数据加载过程中更新数据字典 20,000 次(假设每行调用一次 sequence.nextval)。如果没有看到您的系统,这 20,000 次更新似乎不太可能占您花费在 2 亿行数据加载上的时间的重要部分。您可能会通过增加缓存的大小来减少负载几秒钟,但考虑到您可能在 I/O 上花费的时间,这可能没有意义。