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. vue轮播图插件之vue-awesome-swiper

    移动端轮播图插件,在使用iview图形界面插件中的carousel组件无法实现触摸滑动后,转而使用vue-awesome-swiper插件 1.npm安装 npm i vue-awesome-swip ...

  2. 【水滴石穿】react-native忽略黄色提醒

    方法一 import { YellowBox } from 'react-native'; YellowBox.ignoreWarnings(['Remote debugger']); // 忽略黄色 ...

  3. python 正确地初始化对象

  4. 【水滴石穿】react-native-template-app

    这个也是一个基础项目 地址如下https://github.com/ndlonghi/react-native-template-app 点击登陆跳转到首页 分析代码如 react-native-te ...

  5. hdu4324 dfs

    scanf("%1d")这种好像很慢. #include<stdio.h> #include<string.h> #define maxn 2010 str ...

  6. [iOS开发系列]根据Debug和Release状态的变化来屏蔽日志输出

    今天在这里分享一个很实用的小技巧. 我们平时在开发应用的时候,经常会用到NSLog来调试我们的程序,而随着项目越来越大,这些用于调试的日志输出就会变得很难管理. 我们在发布正式版的时候一定要屏蔽掉所有 ...

  7. React Native错误汇总(持续更新)

    错误1 Element type is invalid-: 错误描述: Element type is invalid: expected a String(for built-in componen ...

  8. 手动封装AJAX

    正常函数的调用 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  9. 15-2 mysql的数据类型

    一.整数类型 整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT 作用:存储年龄,等级,id,各种号码等 ============================== ...

  10. HZOJ visit

    对于前30%的数据,可以考虑dp,f[i][j][k]表示时间为i,在i,j位置的方案数,枚举转移即可.要注意的是可以走到矩阵外. 对于另外30%数据,考虑推一下式子,设向右走y步,左z,上s,下x. ...