我想测试查询的性能,但问题是数据库正在使用缓存内存,因此结果不可靠。
如何关闭缓存/清除缓存(并且不会影响其他重要用户)?
我正在使用Oracle 11.2数据库。
答案 0 :(得分:2)
DON' T 在您的生产服务器上执行此操作,但
您可以执行以下操作:
alter system flush shared_pool
alter system flush buffer_cache
这将刷新库缓存和缓冲池。
注意:这不会给你真实的世界带来的感觉。因为在生产服务器上运行时通常会在内存中存在一些数据,但它会显示出与“新鲜”相关的数据。数据库
答案 1 :(得分:1)
缓存不是问题,这是一个很好的选择。如果希望获得有用的结果,则应使用真实数据库状态测试查询,并使用缓存等。如果你测试'没有缓存',你将获得一个在生产中永远不会发生的值(除非在数据库重启后立即非常罕见)。