这篇文章主要介绍“如何使用命令行来evolve sql plan baselines”,在日常操作中,相信很多人在如何使用命令行来evolve sql plan baselines问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用命令行来evolve sql plan baselines”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!为了evolve一个特定的sql执行计划执行以下操作:
1.创建一个evolve任务
2.设置evolve任务参数
3.执行evolve任务
4.实现任务中给出的建议
5.显示任务执行的结果下面将举例来说明,假设满足以下条件
.数据库没有启用自动evolve任务
.对下面的查询创建一个SQL Plan Baseline.想要创建两个索引来提高查询语句的性能,如果使用索引的性能比SQL Plan Baseline中的当前执行计划的性能好那么就evolve该执行计划为了evolve一个特定的执行计划需要执行以下操作
1.免费主机域名执行初始化设置操作
清空共享池与缓冲区缓存启用自动捕获SQL Plan Baselines以sh用户登录到数据库,然后设置SQLPLUS的显示参数2.执行SQL语句,因此可以自动捕获它
执行下面的SQL语句查询数据字典确认在SQL Plan Baseline中不存在执行计划,因为只有重复执行的SQL语句才会被捕获再次执行SQL语句3.查询数据字典来确保执行计划已经被加载到SQL Plan Baseline中了,下面的查询显示执行计划已经被接受,这意味着执行计划已经存储在SQL Plan Baselines中了。origin列显示为AUTO-CAPTURE,这意味着执行计划是被自动捕获的4.下面对SQL语句进行解析并验证优化器是否会使用免费主机域名SQL Plan Baseline中的执行计划从执行计划的Note部分可以看到SQL Plan Baseline已经应用到这个SQL语句了5.创建两个索引用来提高上面SQL语句的性能6.再次执行SQL语句,因为启用了自动捕获功能,所以新的执行计划会被加载到SQL Plan Baseline中7.查询数据字典来确保新的执行计划被加载到SQL Plan Baseline中了上面的查询结果显示新的执行计划是为被接受的。8.再次解析SQL语句并验证优化器是不是使用原始没有索引的执行计划上面的Note部分指示优化器使用了原始的没有索引的执行计划9.以管理员用户登录数据库,然后创建一个evolve任务它包含未被接受执行计划相关的所有SQL语句11.查看报告报告显示使用两个索引的执行计划比原始执行计划性能更好12.实现evolve任务所给出的建议13.查询数据字典来确保新的执行计划已经是接受状态14.执行清除操作到此,关于“如何使用命令行来evolve sql plan baselines”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注云技术网站,小编会继续努力为大家带来更多实用的文章!
相关推荐: Oracle DBMS_SCHEDULER调用操作系统脚本怎么编写
本篇文章给大家分享的是有关Oracle DBMS_SCHEDULER调用操作系统脚本怎么编写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 1. 创建一个shell脚本并授权:[oracle@xh…