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. Collection Iterator 迭代器

    Collection c=new ArrayList(); c.add(123); //迭代器遍历集合 Iterator i=c.Iterator(); while(i.hasNext()) { Sy ...

  2. SDUT-3379_数据结构实验之查找七:线性之哈希表

    数据结构实验之查找七:线性之哈希表 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 根据给定的一系列整数关键字和素数p, ...

  3. JavaEE架构简介与JavaWeb新特性

    Fragment 将一个web应用做成几个部分,然后整合 创建Fragment项目   然后打包放入Servlet项目中的WEB-INF下的lib中 注解 @WebServlet @WebServle ...

  4. kibana一直弹出来报错?

    1,这个我们需要授权 2.授予安全

  5. idea导入gradle项目后,找不到右边gradle窗口

    解决方案:关闭当前项目idea,随便打开个其他的项目 选择你刚刚的gradle项目 一定要选择你的gradle文件,然后OK就行了..剩下的按照指示打开就会显示gradle右边窗了 原文弟子:http ...

  6. ListView组件中 onEndReached 方法在滚动到距离列表最底部一半时执行

    初次使用ListView,在写列表滚动到最底部自动加载使用到方法onEndReached, 发现: ListView组件中 onEndReached 方法在滚动到距离列表最底部一半时执行, 于是翻看文 ...

  7. [java]struts2 模型驱动 2016-05-01 21:40 702人阅读 评论(19) 收藏

    一开始敲网上商城的时候,对于数据的传递方式我是很惊艳了一把的,感觉特别高大上,就感觉,竟然不用像.net一样取谁的值,给谁赋值这样,只要需要用的时候,简单的get一下就ok了,简直高大上啊. 然后发现 ...

  8. Kubernetes排错:用容器的元数据提供新思路

    在这篇文章中,让我们讨论一下Kubernetes中的元数据(Metadata),以及如何利用它来监控系统的性能. 元数据(Metadata) 是一个较为高大上的词.它的含义是"用来描述其他数 ...

  9. sql —— top

    用于规定要返回的记录的数目 原表: 我们如果只想看前三个学生信息的话:

  10. Tcp之双向通信

    TestServer.java package com.sxt.tcp; /* * 服务端 */ import java.io.DataInputStream; import java.io.Data ...