我正在调整Oracle数据库上的SQL查询.我想确保在运行每个查询之前清除所有缓存的项目,以防止误导性能结果.我通过运行以下命令清除共享池(以消除缓存的sql /解释计划)和缓冲区缓存(以消除缓存的数据):
alter system flush buffer_cache; alter system flush shared_pool;
还有更多我应该做的,还是这足够了?
谢谢!
解决方法
刷新共享池应该这样做,但是Tom Kyte列出了几个原因,为什么在某些情况下你可能无法得到你期望的结果:
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:6349391411093