ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 加入distinct 和不加入执行时间相差几千倍

加入distinct 和不加入执行时间相差几千倍

原创 Linux操作系统 作者:tolywang 时间:2010-02-27 13:22:38 0 删除 编辑
SELECT DISTINCT a.batch_no,
                TO_CHAR ((a.sap_release_date - 1 / 24),
                         'mm/dd/yy hh24:mi:ss'
                        ) AS sap_release_date
           FROM (SELECT   batch_no, MAX (wo.sap_release_date)
                                                             sap_release_date,
                          MAX (wo.create_date) AS sfc_donwload_time
                     FROM dfms.wip_d_wo_master wo
                    WHERE wo.sfg_type = 'SYSTEM'
                      AND wo.sap_release_date >=
                                              TO_DATE ('20100226', 'yyyymmdd')
                      AND wo.sap_release_date <
                                           TO_DATE ('20100226', 'yyyymmdd')
                                           + 1
                      AND wo.plant_code IN ('MI02', 'MI03', 'MI04')
                 GROUP BY wo.batch_no) a,
                dfms.wip_d_wo_master b
          WHERE a.batch_no = b.batch_no
            AND a.sap_release_date = b.sap_release_date
            AND b.sfg_type = 'SYSTEM'
            AND b.sap_release_date >= TO_DATE ('20100226', 'yyyymmdd')
            AND b.sap_release_date < TO_DATE ('20100226', 'yyyymmdd') + 1
            AND b.plant_code IN ('MI02', 'MI03', 'MI04')



wip_d_wo_master   是一个 600 多万的大表,  batch_no , sap_release_date  建立有 index , 包含有 DISTINCT
运行很慢 (Toad中执行),  但是在Web Page中执行却很快 ,不包含 DISTINCT 在Toad中执行也很快, Cost都差不多 。

下图中 IDX9_XXXXXXX  是字段  SAP_RELEASE_DATE  的索引 。

下图1 是有 DISTINCT 的执行计划 , 执行需要 1分钟 40 秒 。
下图2 是 没有 DISTINCT 的执行计划,  执行需要不到1秒 。

[ 本帖最后由 tolywang 于 2010-2-27 12:04 编辑 ]

cost.jpg


cost2.jpg

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/35489/viewspace-628030/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14695612