bond 来看一个烂语句:

select a.*,b.dn from temp_allcrmuser a, phs_smc_user b

 where a.USERNUMBER=b.dn

 and (a.ACTFLAG<>b.ACT_FLG

 or a.ENABLEFLAG<>b.ENABLE_FLG);

汽水 15:50:29

但是对你自己做实验,搞工作极其有利

bond15:50:34

-------------------------------------------------------------------------------------------------

| Id  | Operation                     | Name            | Rows  | Bytes | Cost (%CPU)| Time     |

-------------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT              |                 |     2 |   112 |    12  (17)| 00:00:01 |

|   1 |  CONCATENATION                |                 |       |       |            |          |

|   2 |   MERGE JOIN                  |                 |     1 |    56 |     6  (17)| 00:00:01 |

|   3 |    TABLE ACCESS BY INDEX ROWID| PHS_SMC_USER    |    22 |   396 |     3   (0)| 00:00:01 |

|   4 |     INDEX FULL SCAN           | IND_SMC_USER_DN |    22 |       |     1   (0)| 00:00:01 |

|*  5 |    FILTER                     |                 |       |       |            |          |

|*  6 |     SORT JOIN                 |                 |    82 |  3116 |     3  (34)| 00:00:01 |

|   7 |      TABLE ACCESS FULL        | TEMP_ALLCRMUSER |    82 |  3116 |     2   (0)| 00:00:01 |

|   8 |   MERGE JOIN                  |                 |     1 |    56 |     6  (17)| 00:00:01 |

|   9 |    TABLE ACCESS BY INDEX ROWID| PHS_SMC_USER    |    22 |   396 |     3   (0)| 00:00:01 |

|  10 |     INDEX FULL SCAN           | IND_SMC_USER_DN |    22 |       |     1   (0)| 00:00:01 |

|* 11 |    FILTER                     |                 |       |       |            |          |

|* 12 |     SORT JOIN                 |                 |    82 |  3116 |     3  (34)| 00:00:01 |

|  13 |      TABLE ACCESS FULL        | TEMP_ALLCRMUSER |    82 |  3116 |     2   (0)| 00:00:01 |

-------------------------------------------------------------------------------------------------

bond(510330025) 15:50:48

  5 - filter("A"."ENABLEFLAG"<>"B"."ENABLE_FLG")

   6 - access("A"."USERNUMBER"="B"."DN")

       filter("A"."USERNUMBER"="B"."DN")

  11 - filter("A"."ACTFLAG"<>"B"."ACT_FLG" AND LNNVL("A"."ENABLEFLAG"<>"B"."ENABLE_FLG"))

  12 - access("A"."USERNUMBER"="B"."DN")

       filter("A"."USERNUMBER"="B"."DN")

SELECT *

  FROM (SELECT rownum,

               a.owner       AS owner_a,

               b.owner       AS owner_b,

               a.object_id   AS object_id_a,

               b.object_id   AS object_id_b,

               a.object_name

          FROM test1 a

         INNER JOIN test2 b

            ON b.object_name = a.object_name)

 WHERE (owner_a <> owner_b OR object_id_a <> object_id_b)

重庆-有教无类16:23:11

这个它改不了了

重庆-有教无类 16:26:13

咋样

重庆-有教无类16:26:17

还con不

bond 16:27:17

==

bond 16:30:59

select * from

(

select rownum a_rownum,a.ACTFLAG a_ACTFLAG,a.ENABLEFLAG a_ENABLEFLAG,b.dn,b.ACT_FLG b_ACT_FLG,b.ENABLE_FLG  b_ENABLE_FLG


from temp_allcrmuser a

join phs_smc_user b

 on a.USERNUMBER=b.dn) t

where (a_ACTFLAG<>b_ACT_FLG or a_ENABLEFLAG<>b_ENABLE_FLG);

----------------------------------------------------------------------------------------

| Id  | Operation            | Name            | Rows  | Bytes | Cost (%CPU)| Time     |

----------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT     |                 |    22 |  1694 |  8740   (6)| 00:01:45 |

|*  1 |  VIEW                |                 |    22 |  1694 |  8740   (6)| 00:01:45 |

|   2 |   COUNT              |                 |       |       |            |          |

|*  3 |    HASH JOIN         |                 |    22 |  1232 |  8740   (6)| 00:01:45 |

|   4 |     TABLE ACCESS FULL| PHS_SMC_USER    |    22 |   396 |    12   (0)| 00:00:01 |

|   5 |     TABLE ACCESS FULL| TEMP_ALLCRMUSER |    10M|   394M|  8571   (4)| 00:01:43 |

--------------------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

1 - filter("A_ACTFLAG"<>"B_ACT_FLG" OR "A_ENABLEFLAG"<>"B_ENABLE_FLG")

   3 - access("A"."USERNUMBER"="B"."DN")

bond 16:31:05

靠,可以了

bond 16:31:18

就是因为rownum?

史狮16:31:22

太牛b

。。。。。省略。。。。。

bond 16:41:27

select /*+ Use_hash(a,b) no_expand*/ a.*,b.dn from temp_allcrmuser a, phs_smc_user b

 where a.USERNUMBER=b.dn

 and (a.ACTFLAG<>b.ACT_FLG

 or a.ENABLEFLAG<>b.ENABLE_FLG);

 

--------------------------------------------------------------------------------------

| Id  | Operation          | Name            | Rows  | Bytes | Cost (%CPU)| Time     |

--------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT   |                 |    18 |  1008 |  8740   (6)| 00:01:45 |

|*  1 |  HASH JOIN         |                 |    18 |  1008 |  8740   (6)| 00:01:45 |

|   2 |   TABLE ACCESS FULL| PHS_SMC_USER    |    22 |   396 |    12   (0)| 00:00:01 |

|   3 |   TABLE ACCESS FULL| TEMP_ALLCRMUSER |    10M|   394M|  8571   (4)| 00:01:43 |

--------------------------------------------------------------------------------------

用no_expand HINT也可以

在ORACLE11g 之前,CBO 还是会犯SB ,11g之后 不会自动的 expand了,

注意,上面都是我的学生

no_expand优化案例的更多相关文章

  1. 数据库优化案例——————某市中心医院HIS系统

    记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的.这也是为什么自己特别喜欢看案例,今天也开始分享自己做的优化案例. 最近一直很忙,博客产出也少的 ...

  2. mysql优化案例

    MySQL优化案例 Mysql5.1大表分区效率测试 Mysql5.1大表分区效率测试MySQL | add at 2009-03-27 12:29:31 by PConline | view:60, ...

  3. SQL 优化案例 1

    create or replace procedure SP_GET_NEWEST_CAPTCHA( v_ACCOUNT_ID in VARCHAR2, --接收短信的手机号 v_Tail_num i ...

  4. 老李案例分享:Weblogic性能优化案例

    老李案例分享:Weblogic性能优化案例 POPTEST的测试技术交流qq群:450192312 网站应用首页大小在130K左右,在之前的测试过程中,其百用户并发的平均响应能力在6.5秒,性能优化后 ...

  5. Hive优化案例

    1.Hadoop计算框架的特点 数据量大不是问题,数据倾斜是个问题. jobs数比较多的作业效率相对比较低,比如即使有几百万的表,如果多次关联多次汇总,产生十几个jobs,耗时很长.原因是map re ...

  6. 数据库优化案例——————某知名零售企业ERP系统

    写在前面 记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的.这也是为什么自己特别喜欢看案例,今天也分享自己做的优化案例. 之前分享过OA系统.H ...

  7. Spark集群之yarn提交作业优化案例

    Spark集群之yarn提交作业优化案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.启动Hadoop集群 1>.自定义批量管理脚本 [yinzhengjie@s101 ...

  8. MySQL参数优化案例

    环境介绍 优化层级与指导思想 优化过程 最小化安装情况下的性能表现 优化innodb_buffer_pool_size 优化innodb_log_files_in_group&innodb_l ...

  9. MySQL的索引单表优化案例分析

    建表 建立本次优化案例中所需的数据库及数据表 CREATE DATABASE db0206; USE db0206; CREATE TABLE `db0206`.`article`( `id` INT ...

随机推荐

  1. C++学习笔记(1)-构造函数与析构函数

    1.C++规定,每个类必须有默认的构造函数,没有构造函数就不能创建对象. 2.若没有提供任何构造函数,那么c++自动提供一个默认的构造函数,该默认构造函数是一个没有参数的构造函数,它仅仅负责创建对象而 ...

  2. Leetcode844.Backspace String Compare比较含退格的字符串

    给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 示例 1: 输入:S = "ab#c", T = " ...

  3. laravel后台扩展包

    https://github.com/the-control-group/voyager

  4. SQL优化经验总结34条

    SQL优化经验总结34条 我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习.摘录.并汇总部分资料与大家分享! (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): OR ...

  5. 泛型List 扩展 比较类

    List<string> outputList = resultList.Distinct(new Compare<string>((x, y) => (null != ...

  6. px和rem换算

    bootstrap默认 html{font-size: 10px;} rem是一个相对大小的值,它相对于根元素<html>, 假设,我们设置html的字体大小的值为html{font-si ...

  7. PHPCMS快速建站系列之需要掌握的函数

    路径:phpcms\libs\classes\model.class.php /**   * 执行sql查询   * @param $where   查询条件[例`name`='$name']   * ...

  8. PLAY2.6-SCALA(七) Streaming HTTP response

    1.从HTTP1.1开始,服务端为了在single connection下对HTTP请求及响应提供服务,需要在response中提供响应的Content-Length. 默认情况下,不需要显示的指明C ...

  9. HTML之CSS标签

    1.CSS选择器 1).id选择器   2).class选择器 3).标签选择器   4).层级选择器(空格)    (1)id层级选择器       (2)class层级选择器 5).组合选择器(逗 ...

  10. Python学习之路9☞面向对象的程序设计

    一 面向对象的程序设计的由来 见概述:http://www.cnblogs.com/linhaifeng/articles/6428835.html 二 什么是面向对象的程序设计及为什么要有它 面向过 ...