在表中加载大量(即填充百万行)数据时,“update seq$ set increment$=:.......”语句执行了 108,368,168 次,耗时 7,373 秒。这意味着 - 它肯定会在每次调用期间花费一些时间来获取锁存器,以便能够在需要生成一组新值时更新数据字典。
我诊断了这种情况,发现它是由于 Sequence NOCACHE 而发生的,并开始增加它的 CACHE 值,直到它不包含在 AWR 报告中由 CPU/Elepsed 排序的 SQL 中,最后当 CACHE 值设置为 100000 时它就解决了。现在有AWR 中没有与 Sequence 相关的查询,并得出结论认为 CACHE 值获得了积极的性能提升。
谁能告诉我我可以在 Oracle 中检查哪些项目以确认数据库中没有回火这么大的序列缓存。