本篇内容主要讲解“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命令的简单介绍”的疑惑有所帮助!接…