分享更有价值
被信任是一种快乐

oracle中对于复杂的SQL语句怎么进行优化

文章页正文上

本篇内容主要讲解“oracle中对于复杂的SQL语句怎么进行优化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle中对于复杂的SQL语句怎么进行优化”吧!遵循下面的思路:1. 先检查之前有没有好的执行计划,如果之前的执行计划是比较好的,那么可以使用 SQL Profile 来固定好的执行计划。比如可以根据 note 1400903.1 的步骤,类似如下:a). 我们有两个语句select ename from scott.emp where ename=’MILLER’;它的SQL_ID是 329d885bxvrcr ,plan hash value是 3045807146s免费主机域名elect /*+ FULL (EMP) */ ename from scott.emp where ename=’MILLER’;它的SQL_ID是 4f74t4ab7rd5y ,plan hash value是 2872589290我们的目的就是把 4f74t4ab7rd5y 的plan转移给 329d885bxvrcrb). 调用 coe_load_sql_profile免费主机域名.sql 来转移plan比如:SQL> @coe_load_sql_profile.sqlParameter 1:ORIGINAL_SQL_ID (required)Enter value for 1: 329d885bxvrcr =======>此处填写原始的SQL的SQL_IDParameter 2:MODIFIED_SQL_ID (required)Enter value for 2: 4f74t4ab7rd5y =======>此处填写带hint的SQL的SQL_IDParameter 3:PLAN_HASH_VALUE (required)Enter value for 3: 2872589290 =======>此处填写带hint的SQL的plan hash value (期望的plan)此时SQL Profile就产生了c). 您可以再次验证原来的SQL的plan是否就已经按照我们的期望改变了2. 如果之前也没有好的执行计划,那么接下来需要收集统计信息;因为优化器是根据统计信息来生成执行计划,所以最新的统计信息经常可以修正不好的执行计划。3. 如果收集统计信息也没有能够让 SQL 性能变好,那么接下来需要使用 SQL Tuning Advisory 来帮我们优化,看是否可以找到一些建议。我注意到您实际上已经尝试过这种方式了。4. 如果上面的方法都不能解决问题,那么接下来就需要从 SQL 语句本身入手。通过联系应用团队修改 SQL 逻辑来进一步优化了。到此,相信大家对“oracle中对于复杂的SQL语句怎么进行优化”有了更深的了解,不妨来实际操作一番吧!这里是云技术网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: mysql prompt命令的简单介绍

这篇文章主要介绍“mysql prompt命令的简单介绍”,在日常操作中,相信很多人在mysql prompt命令的简单介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql prompt命令的简单介绍”的疑惑有所帮助!接…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册