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

如何使用Oracle正确性能测试SELECT查询?

发布时间:2021-02-28 19:01:02 所属栏目:站长百科 来源:网络整理
导读:我想测试两个查询,以找出他们的表现,只是看着执行计划.我见过Tom Kyte一直在他的网站上这样做,以收集他的理论证据. 我相信在性能测试中存在许多缺陷,例如,当我第一次在SQL开发人员中运行查询时,该查询可能返回一些公平的数字.再次运行完全相同的查询,即时返

我想测试两个查询,以找出他们的表现,只是看着执行计划.我见过Tom Kyte一直在他的网站上这样做,以收集他的理论证据.

我相信在性能测试中存在许多缺陷,例如,当我第一次在SQL开发人员中运行查询时,该查询可能返回一些公平的数字.再次运行完全相同的查询,即时返回.服务器或客户端上必须有某种缓存,我知道这很重要 – 但我只对非缓存性能感兴趣.

性能测试的指导原则是什么?以及如何编写重复查询的性能测试?我只是写一个匿名的块&环?我如何获得时间信息,平均值,中位数,标准偏差?

解决方法

Oracle(和其他数据库)缓存查询,您可以在其中查看所描述的行为. “硬”解析意味着查询没有查询计划,这使得Oracle可以根据索引和统计信息确定查询计划.一个“软”解析就是当你之后运行相同的查询并收到一个瞬时结果时会发生的事情,因为查询计划存在& Oracle重新使用它.见 the Ask Tom question about it for more details.

请注意0??7001:

With the cost-based optimizer,execution plans can and do change as the underlying costs change. EXPLAIN PLAN output shows how Oracle runs the SQL statement when the statement was explained. This can differ from the plan during actual execution for a SQL statement,because of differences in the execution environment and explain plan environment.

关注非缓存性能会给出最糟糕的情况,但考虑到缓存会发生 – 非缓存基准测试在日常使用中并不现实.

(编辑:衡阳站长网)

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

    热点阅读