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. Percona XtraBackup 完全及增量备份与恢复的方法

    安装及备份.恢复实现 安装:其最新版的软件可从 http://www.percona.com/software/percona-xtrabackup/ 获得.本文基于CentOS6.x的系统,因此,直 ...

  2. system_service进程里 调用SystemManager.getService("activity") 直接返回ams的引用?

    我们知道ActivityManager是运行在system_service进程里的,但是最近看代码发现在这个进程的其他服务线程里为了获取AMS调用: ActivityManagerService am ...

  3. DELL(linux 系统里系统掉盘)(阵列Foreign)命令行里重做阵列

    故障现象 (阵列Foreign 系统下重做阵列) 例:四合一机器(DELL_XENCOMPA09) 有四个硬盘 如图 少认到一个 df  -h fdisk -l 2>/dev/null | gr ...

  4. 【JZOJ4896】【NOIP2016提高A组集训第16场11.15】兔子

    题目描述 在一片草原上有N个兔子窝,每个窝里住着一只兔子,有M条路径连接这些窝.更特殊地是,至多只有一个兔子窝有3条或更多的路径与它相连,其它的兔子窝只有1条或2条路径与其相连.换句话讲,这些兔子窝之 ...

  5. springboot(十九)使用actuator监控应用【转】【补】

    springboot(十九)使用actuator监控应用 微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的 ...

  6. Directx11教程(61) tessellation学习(3)

    原文:Directx11教程(61) tessellation学习(3)       现在我们看看在不同tess factor的情况下,三角形是如何细分的?(这儿三条边和内部tess factor值是 ...

  7. Directx11教程(5) 画一个简单的三角形(1)

    原文:Directx11教程(5) 画一个简单的三角形(1)       在本篇教程中,我们将通过D3D11画一个简单的三角形.在D3D11中,GPU的渲染主要通过shader来操作(当然还有一些操作 ...

  8. 构造器 构造方法 constructor

    构造器的作用: 1.创建对象. 设计类时,若不显示的声明类的构造器的话,程序会默认提供一个空参的构造器. 一旦显示的定义了构造器,就不再默认提供. 声明类的构造器:权限修饰符 与类同名(形参){} 类 ...

  9. Effective Modern C++:01类型推导

    C++的官方钦定版本,都是以ISO标准被接受的年份命名,分别是C++98,C++03,C++11,C++14,C++17,C++20等.C++11及其后续版本统称为Modern C++. C++11之 ...

  10. 用预编译包安装zabbix-agent

    如果主机无法上网,安装rpm又缺少依赖时,可以通过预编译包进行安装zabbix-agent,下载地址 https://www.zabbix.com/download 下载后,执行如下命令: wget ...