我想知道在调整之前和调整之后测试正确的sqls的方法。 但是一旦我执行了原始的sql,我得到的结果对于调优的sql来说太快了。
我在下面找到了......
How to clear all cached items in Oracle
我做了刷新数据缓冲区缓存和共享池,但它仍然没有工作。 我想这个问题的答案与我想要了解的内容有关: 请记住,操作系统和硬件也会进行缓存,这会导致结果出现偏差。
Oracle的版本是11g,Server是HP-UX 11.31。
如果服务器是Linux,我可以尝试使用' / proc / sys / vm / drop_caches'来清除缓冲区。(我不确定它是否可行)
我在很长一段时间内都在寻找这个问题。有人有这种问题吗?
感谢
答案 0 :(得分:0)
如果您的查询是在文件系统中缓存结果,您的描述会建议,那么查询可能不是整体的“重击”。但是如果您是在隔离测试,而对数据库没有太多活动,那么当SQL在生产环境中运行时,性能可能会受到影响。
您可以采取以下措施来确定哪个版本的两个查询更好。事实上,整本书都是关于这个主题的。但总结一下:
在开始之前,请确保表和索引的统计信息是最新的。
explain plan
并查看估算的费用和步骤数。