gpt4 book ai didi

oracle - 如何测试调整后的 oracle sql 以及如何清除系统/硬件缓冲区?

转载 作者:行者123 更新时间:2023-12-01 06:07:03 24 4
gpt4 key购买 nike

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

我发现下面...

How to clear all cached items in Oracle

我确实刷新了数据缓冲区缓存和共享池,但它仍然不起作用。
我想这个问题的答案与我想了解的更多有关:
请记住,操作系统和硬件也会进行缓存,这可能会影响您的结果。

Oracle 的版本是 11g,服务器是 HP-UX 11.31。

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

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

谢谢

最佳答案

如果您的查询是将结果缓存在文件系统中(您的描述会建议这种情况),那么该查询总体上可能不是“重磅炸弹”。但是,如果您单独进行测试,数据库上没有太多事件,那么当 SQL 在生产环境中运行时,性能可能会受到影响。

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

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

  • 查看 SQL 在总体方案中执行的频率。如果它每天运行一次或两次,并且需要 2 秒才能运行,请不要费心尝试调整。
  • 做一个 explain plan并查看估计的成本和步骤数。
  • 打开优化器步骤和执行统计信息的跟踪,并进行比较。
  • 关于oracle - 如何测试调整后的 oracle sql 以及如何清除系统/硬件缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37201982/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com