加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 站长百科 > 正文

如何测试调优的oracle sql以及如何清除明确的系统/硬件缓冲区?

发布时间:2021-01-08 21:35:40 所属栏目:站长百科 来源:网络整理
导读:我想知道在调整之前和调整之后测试正确的sqls的方法. 但是一旦我执行了原始的sql,我得到的结果对于调优的sql来说太快了. 我在下面发现了…… How to clear all cached items in Oracle 我做了刷新数据缓冲区缓存和共享池,但它仍然无法正常工作. 我想这个问题

我想知道在调整之前和调整之后测试正确的sqls的方法.
但是一旦我执行了原始的sql,我得到的结果对于调优的sql来说太快了.

我在下面发现了……

How to clear all cached items in Oracle

我做了刷新数据缓冲区缓存和共享池,但它仍然无法正常工作.
我想这个问题的答案与我想要了解的内容有关:
请记住,操作系统和硬件也会进行缓存,这会导致结果出现偏差.

Oracle的版本是11g,Server是HP-UX 11.31.

如果服务器是Linux,我可以尝试使用’/proc/sys/vm/drop_caches’清除缓冲区.(我不确定它是否可行)

我正在寻找这个问题很长时间.有人有这种问题吗?

谢谢

解决方法

如果您的查询是在文件系统中缓存结果,您的描述会建议,那么查询可能不是整体的“重击”.但是如果你是孤立地进行测试,对数据库的活动不多,那么当SQL在生产环境中运行时,性能可能会受到影响.

您可以通过以下几种方法来确定哪个版本的两个查询更好.事实上,整本书都是关于这个主题的.但总结一下:

在开始之前,请确保表和索引的统计信息是最新的.

>查看SQL在宏观方案中执行的频率.如果它每天运行一次或两次,并且需要2秒钟才能运行,请不要费心去调整.>对两者做一个解释计划,并查看估计的成本和步骤数.>打开优化程序步骤和执行统计信息的跟踪,并进行比较.

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读