<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    使用SQL Profile進行SQL優化案例

     一個社保系統的自助查詢系統查詢個人醫療費用明細的查詢語句要用一分多鐘還沒查詢出來,語句如下:
      select * from  v_zzzd_ylbx_ylfymxcx where aac002='430703198202280017'
      從上面的語句可知是從視圖 v_zzzd_ylbx_ylfymxcx中查詢數據。v_zzzd_ylbx_ylfymxcx視圖的創建語句如下:
    create or replace view v_zzzd_ylbx_ylfymxcx as
    select a.indi_id aac001,a.idcard aac002,'' aof008,a.center_id aab301,
    a.name aac003,a.hospital_id akf008,d.hospital_name akf009,a.serial_no akf010,
    f.biz_name akf011,
    nvl(round(sum(b.real_pay),2),0) akf012,
    nvl(round(sum(case when b.fund_id = '003' then b.real_pay else 0 end),2),0) akf013, 0 akf014,0 akf015,0 akf016,
    nvl(round(sum(case when b.fund_id = '001' then b.real_pay else 0 end),2),0) ak093,
    nvl(round(sum(b.real_pay),2),0) - nvl(round(sum(case when b.fund_id in ('999','003') and b.policy_item_code in ( 'S00','S01','C001','C004''C006') then b.real_pay else 0 end),2),0) ak092,
    nvl(round(sum(case when b.fund_id in ('999','003') and b.policy_item_code in ( 'S00','S01','C001','C004''C006') then b.real_pay else 0 end),2),0) ak094,
    nvl(round(sum(case when b.fund_id in('003', '999') then b.real_pay else 0 end),2),0) ak095,
    a.fin_date akf017,to_char(nvl(a.in_days,0)) akf018,
    nvl(round(sum(case when b.fund_id = '003' then b.real_pay else 0 end),2),0) akf019,
    nvl(round(sum(case when b.fund_id in( '001','201','301' ) then b.real_pay else 0 end),2),0) akf020
    from  bs_insured h,mt_biz_fin a ,mt_pay_record_fin b,bs_disease c,bs_hospital d ,bs_hosp_level e ,bs_biztype f,bs_corp g
    where h.indi_id=a.indi_id
    and a.hospital_id = b.hospital_id
    and a.serial_no = b.serial_no
    and a.biz_type = f.biz_type
    and a.center_id = f.center_id
    and a.center_id=c.center_id
    and a.fin_disease=c.icd
    and a.hospital_id = d.hospital_id
    and d.hosp_level=e.hosp_level
    and a.biz_type in ('10','11','12','13','16','17')
    and a.valid_flag = 1
    and b.valid_flag = 1
    and a.pers_type in ('1','2')
    and a.corp_id = g.corp_id
    group by a.indi_id ,a.idcard ,a.center_id,a.name ,a.hospital_id ,d.hospital_name,a.serial_no , f.biz_name,a.fin_date,a.in_days;
      生成SQL Profile有兩種方式:自動和手動方式,這里使用自動方式來生成SQL Profile.
      下面創建一個SQL自動調整優化任務:
    SQL> declare
    2   my_task_name varchar2(30);
    3   my_sqltext clob;
    4  begin
    5   my_sqltext :='select * from  v_zzzd_ylbx_ylfymxcx where aac002=''430703198202280017''';
    6   my_task_name :=dbms_sqltune.create_tuning_task(
    7           sql_text => my_sqltext,
    8           user_name => 'INSUR_CHANGDE',
    9           scope=>'COMPREHENSIVE',
    10          time_limit=>60,
    11          task_name => 'my_sql_tuning_task_2014080803',
    12          description=>'Task to tune a query on table v_zzzd_ylbx_ylfymxcx');
    13  end;
    14  /
    PL/SQL procedure successfully completed.
    SQL>
    SQL> begin
    2  dbms_sqltune.execute_tuning_task(task_name=>'my_sql_tuning_task_2014080803');
    3  end;
    4  /
    PL/SQL procedure successfully completed.
    通過下面的語句查詢優化建議
    SQL>select dbms_sqltune.report_tuning_task('my_sql_tuning_task_2014080803') from dual;
    GENERAL INFORMATION SECTION
    -------------------------------------------------------------------------------
    Tuning Task Name                  : my_sql_tuning_task_2014080803
    Tuning Task Owner                 : INSUR_CHANGDE
    Scope                             : COMPREHENSIVE
    Time Limit(seconds)               : 60
    Completion Status                 : COMPLETED
    Started at                        : 08/08/2014 19:42:47
    Completed at                      : 08/08/2014 19:43:49
    Number of Index Findings          : 1
    Number of SQL Restructure Findings: 1
    Number of Errors                  : 1
    -------------------------------------------------------------------------------
    Schema Name: INSUR_CHANGDE
    SQL ID     : 0rpt6bzp60cjm
    SQL Text   : select * from  v_zzzd_ylbx_ylfymxcx where
    aac002='430703198202280017'
    -------------------------------------------------------------------------------
    FINDINGS SECTION (2 findings)
    -------------------------------------------------------------------------------
    1- Index Finding (see explain plans section below)
    --------------------------------------------------
      通過創建一個或多個索引可以改進此語句的執行計劃。
      Recommendation (estimated benefit: 99.98%)
      ------------------------------------------
      - 考慮運行可以改進物理方案設計的 Access Advisor 或者創建推薦的索引。
      create index INSUR_CHANGDE.IDX$$_429C0001 on
      INSUR_CHANGDE.MT_BIZ_FIN("IDCARD",TO_NUMBER("VALID_FLAG"),"PERS_TYPE","BIZ_
      TYPE");
      這里在創建IDX$$_429C0001索引時,TO_NUMBER("VALID_FLAG")這是因為表MT_BIZ_FIN中的valid_flag是varchar2而視圖定義中寫成了valid_flag=1的原因
      - 考慮運行可以改進物理方案設計的 Access Advisor 或者創建推薦的索引。
      create index INSUR_CHANGDE.IDX$$_429C0002 on
      INSUR_CHANGDE.MT_PAY_RECORD_FIN("HOSPITAL_ID","SERIAL_NO");
      Rationale
      ---------
      創建推薦的索引可以顯著地改進此語句的執行計劃。但是, 使用典型的 SQL 工作量運行 "Access Advisor"
      可能比單個語句更可取。通過這種方法可以獲得全面的索引建議案, 包括計算索引維護的開銷和附加的空間消耗。
      2- Restructure SQL finding (see plan 1 in explain plans section)
      ----------------------------------------------------------------
      謂詞 TO_NUMBER("A"."VALID_FLAG")=1 (在執行計劃的行 ID 9 處使用) 包含索引列 "VALID_FLAG"
      的隱式數據類型轉換。此隱式數據類型轉換使優化程序無法有效地使用表 "INSUR_CHANGDE"."MT_BIZ_FIN" 的索引。
      這是因為表MT_BIZ_FIN中的valid_flag是varchar2而視圖定義中寫成了valid_flag=1的原因
      Recommendation
      --------------
      - 將謂詞重寫為等價型以便利用索引。
      Rationale
      ---------
      如果謂詞是不等式條件或者如果存在關于索引列的表達式或隱式數據類型轉換, 則優化程序無法使用索引。
    -------------------------------------------------------------------------------
    ERRORS SECTION
    -------------------------------------------------------------------------------
    - 當前操作因超時而中斷。這是因為優化任務設置的超時時間為60秒的原因
    -------------------------------------------------------------------------------
    EXPLAIN PLANS SECTION
    -------------------------------------------------------------------------------
    1- Original
    -----------
    Plan hash value: 3562745886
    ---------------------------------------------------------------------------------------------------------------
    | Id  | Operation                           | Name                    | Rows  | Bytes | Cost (%CPU)| Time     |
    ---------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT                    |                         |     7 |  1505 |   127K  (2)| 00:25:25 |
    |   1 |  HASH GROUP BY                      |                         |     7 |  1505 |   127K  (2)| 00:25:25 |
    |   2 |   NESTED LOOPS                      |                         |     7 |  1505 |   127K  (2)| 00:25:25 |
    |   3 |    NESTED LOOPS                     |                         |     7 |  1491 |   127K  (2)| 00:25:25 |
    |   4 |     NESTED LOOPS                    |                         |     7 |  1253 |   127K  (2)| 00:25:25 |
    |   5 |      NESTED LOOPS                   |                         |     7 |  1127 |   127K  (2)| 00:25:25 |
    |   6 |       NESTED LOOPS                  |                         |     7 |  1085 |   127K  (2)| 00:25:25 |
    |   7 |        NESTED LOOPS                 |                         |    14 |  1554 |   127K  (2)| 00:25:25 |
    |   8 |         NESTED LOOPS                |                         |    14 |  1484 |   127K  (2)| 00:25:25 |
    |*  9 |          TABLE ACCESS FULL          | MT_BIZ_FIN              |    14 |  1232 |   127K  (2)| 00:25:25 |
    |  10 |          TABLE ACCESS BY INDEX ROWID| BS_BIZTYPE              |     1 |    18 |     1   (0)| 00:00:01 |
    |* 11 |           INDEX UNIQUE SCAN         | PK_BS_BIZTYPE           |     1 |       |     1   (0)| 00:00:01 |
    |* 12 |         INDEX UNIQUE SCAN           | PK_BS_CORP              |     1 |     5 |     1   (0)| 00:00:01 |
    |* 13 |        TABLE ACCESS BY INDEX ROWID  | MT_PAY_RECORD_FIN       |     1 |    44 |     1   (0)| 00:00:01 |
    |* 14 |         INDEX RANGE SCAN            | IDX_MT_PAY_RECORD_FIN_1 |     1 |       |     1   (0)| 00:00:01 |
    |* 15 |       INDEX UNIQUE SCAN             | PK_BS_INSURED           |     1 |     6 |     1   (0)| 00:00:01 |
    |* 16 |      INDEX RANGE SCAN               | INX_BS_DISEASE_01       |     1 |    18 |     1   (0)| 00:00:01 |
    |  17 |     TABLE ACCESS BY INDEX ROWID     | BS_HOSPITAL             |     1 |    34 |     1   (0)| 00:00:01 |
    |* 18 |      INDEX UNIQUE SCAN              | PK_BS_HOSPITAL          |     1 |       |     1   (0)| 00:00:01 |
    |* 19 |    INDEX UNIQUE SCAN                | PK_BS_HOSP_LEVEL        |     1 |     2 |     1   (0)| 00:00:01 |
    ---------------------------------------------------------------------------------------------------------------
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    9 - filter("A"."IDCARD"='430703198202280017' AND TO_NUMBER("A"."VALID_FLAG")=1 AND
    ("A"."PERS_TYPE"='1' OR "A"."PERS_TYPE"='2') AND ("A"."BIZ_TYPE"='10' OR "A"."BIZ_TYPE"='11' OR
    "A"."BIZ_TYPE"='12' OR "A"."BIZ_TYPE"='13' OR "A"."BIZ_TYPE"='16' OR "A"."BIZ_TYPE"='17'))
    11 - access("A"."CENTER_ID"="F"."CENTER_ID" AND "A"."BIZ_TYPE"="F"."BIZ_TYPE")
    12 - access("A"."CORP_ID"="G"."CORP_ID")
    13 - filter(TO_NUMBER("B"."VALID_FLAG")=1)
    14 - access("A"."HOSPITAL_ID"="B"."HOSPITAL_ID" AND "A"."SERIAL_NO"="B"."SERIAL_NO")
    15 - access("H"."INDI_ID"="A"."INDI_ID")
    16 - access("A"."CENTER_ID"="C"."CENTER_ID" AND "A"."FIN_DISEASE"="C"."ICD")
    18 - access("A"."HOSPITAL_ID"="D"."HOSPITAL_ID")
    19 - access("D"."HOSP_LEVEL"="E"."HOSP_LEVEL")
      這是按優化建議創建兩個索引后的執行計劃
    2- Using New Indices
    --------------------
    Plan hash value: 2373509962
    ----------------------------------------------------------------------------------------------------------
    | Id  | Operation                            | Name              | Rows  | Bytes | Cost (%CPU)| Time     |
    ----------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT                     |                   |     7 |  1505 |    14   (8)| 00:00:01 |
    |   1 |  HASH GROUP BY                       |                   |     7 |  1505 |    14   (8)| 00:00:01 |
    |   2 |   NESTED LOOPS                       |                   |     7 |  1505 |    13   (0)| 00:00:01 |
    |   3 |    NESTED LOOPS                      |                   |     7 |  1470 |    12   (0)| 00:00:01 |
    |   4 |     NESTED LOOPS                     |                   |     7 |  1428 |    11   (0)| 00:00:01 |
    |   5 |      NESTED LOOPS                    |                   |     7 |  1302 |    10   (0)| 00:00:01 |
    |   6 |       NESTED LOOPS                   |                   |     7 |  1288 |     9   (0)| 00:00:01 |
    |   7 |        NESTED LOOPS                  |                   |     7 |  1050 |     7   (0)| 00:00:01 |
    |   8 |         NESTED LOOPS                 |                   |    14 |  1484 |     4   (0)| 00:00:01 |
    |   9 |          INLIST ITERATOR             |                   |       |       |            |          |
    |  10 |           TABLE ACCESS BY INDEX ROWID| MT_BIZ_FIN        |    14 |  1232 |     2   (0)| 00:00:01 |
    |* 11 |            INDEX RANGE SCAN          | IDX$$_429C0001    |    14 |       |     1   (0)| 00:00:01 |
    |  12 |          TABLE ACCESS BY INDEX ROWID | BS_BIZTYPE        |     1 |    18 |     1   (0)| 00:00:01 |
    |* 13 |           INDEX UNIQUE SCAN          | PK_BS_BIZTYPE     |     1 |       |     1   (0)| 00:00:01 |
    |* 14 |         TABLE ACCESS BY INDEX ROWID  | MT_PAY_RECORD_FIN |     1 |    44 |     1   (0)| 00:00:01 |
    |* 15 |          INDEX RANGE SCAN            | IDX$$_429C0002    |     1 |       |     1   (0)| 00:00:01 |
    |  16 |        TABLE ACCESS BY INDEX ROWID   | BS_HOSPITAL       |     1 |    34 |     1   (0)| 00:00:01 |
    |* 17 |         INDEX UNIQUE SCAN            | PK_BS_HOSPITAL    |     1 |       |     1   (0)| 00:00:01 |
    |* 18 |       INDEX UNIQUE SCAN              | PK_BS_HOSP_LEVEL  |     1 |     2 |     1   (0)| 00:00:01 |
    |* 19 |      INDEX RANGE SCAN                | INX_BS_DISEASE_01 |     1 |    18 |     1   (0)| 00:00:01 |
    |* 20 |     INDEX UNIQUE SCAN                | PK_BS_INSURED     |     1 |     6 |     1   (0)| 00:00:01 |
    |* 21 |    INDEX UNIQUE SCAN                 | PK_BS_CORP        |     1 |     5 |     1   (0)| 00:00:01 |
    ----------------------------------------------------------------------------------------------------------
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    11 - access("A"."IDCARD"='430703198202280017' AND "MT_BIZ_FIN".???)
    filter("A"."BIZ_TYPE"='10' OR "A"."BIZ_TYPE"='11' OR "A"."BIZ_TYPE"='12' OR
    "A"."BIZ_TYPE"='13' OR "A"."BIZ_TYPE"='16' OR "A"."BIZ_TYPE"='17')
    13 - access("A"."CENTER_ID"="F"."CENTER_ID" AND "A"."BIZ_TYPE"="F"."BIZ_TYPE")
    14 - filter(TO_NUMBER("B"."VALID_FLAG")=1)
    15 - access("A"."HOSPITAL_ID"="B"."HOSPITAL_ID" AND "A"."SERIAL_NO"="B"."SERIAL_NO")
    17 - access("A"."HOSPITAL_ID"="D"."HOSPITAL_ID")
    18 - access("D"."HOSP_LEVEL"="E"."HOSP_LEVEL")
    19 - access("A"."CENTER_ID"="C"."CENTER_ID" AND "A"."FIN_DISEASE"="C"."ICD")
    20 - access("H"."INDI_ID"="A"."INDI_ID")
    21 - access("A"."CORP_ID"="G"."CORP_ID")
    -------------------------------------------------------------------------------
      因為前一次優化任務因為超時中斷了所以再次進行SQL自動優化任務,并將超時時間設置為600秒
    SQL> declare
    2   my_task_name varchar2(30);
    3   my_sqltext clob;
    4  begin
    5   my_sqltext :='select * from  v_zzzd_ylbx_ylfymxcx where aac002=''430703198202280017''';
    6   my_task_name :=dbms_sqltune.create_tuning_task(
    7           sql_text => my_sqltext,
    8           user_name => 'INSUR_CHANGDE',
    9           scope=>'COMPREHENSIVE',
    10          time_limit=>600,
    11          task_name => 'my_sql_tuning_task_2014080804',
    12          description=>'Task to tune a query on table v_zzzd_ylbx_ylfymxcx');
    13  end;
    14  /
    PL/SQL procedure successfully completed.
    SQL>
    SQL> begin
    2  dbms_sqltune.execute_tuning_task(task_name=>'my_sql_tuning_task_2014080804');
    3  end;
    4  /
    PL/SQL procedure successfully completed.
    通過下面的語句查詢優化建議
    SQL>select dbms_sqltune.report_tuning_task('my_sql_tuning_task_2014080806') from dual;
    GENERAL INFORMATION SECTION
    -------------------------------------------------------------------------------
    Tuning Task Name                  : my_sql_tuning_task_2014080804
    Tuning Task Owner                 : INSUR_CHANGDE
    Scope                             : COMPREHENSIVE
    Time Limit(seconds)               : 600
    Completion Status                 : COMPLETED
    Started at                        : 08/08/2014 20:03:46
    Completed at                      : 08/08/2014 20:04:27
    Number of SQL Profile Findings    : 1
    -------------------------------------------------------------------------------
    Schema Name: INSUR_CHANGDE
    SQL ID     : 0rpt6bzp60cjm
    SQL Text   : select * from  v_zzzd_ylbx_ylfymxcx where
    aac002='430703198202280017'
    -------------------------------------------------------------------------------
    FINDINGS SECTION (1 finding)
    -------------------------------------------------------------------------------
    1- SQL Profile Finding (see explain plans section below)
    --------------------------------------------------------
      為此語句找到了性能更好的執行計劃。
      Recommendation (estimated benefit: 28.75%)
      ------------------------------------------
      - 考慮接受推薦的 SQL 概要文件。
    execute dbms_sqltune.accept_sql_profile(task_name =>
    'my_sql_tuning_task_2014080804', replace => TRUE);
    -------------------------------------------------------------------------------
    EXPLAIN PLANS SECTION
    -------------------------------------------------------------------------------
    1- Original With Adjusted Cost
    ------------------------------
    Plan hash value: 3514293130
    -----------------------------------------------------------------------------------------------------------
    | Id  | Operation                             | Name              | Rows  | Bytes | Cost (%CPU)| Time     |
    -----------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT                      |                   |   251 | 53965 |    36   (6)| 00:00:01 |
    |   1 |  HASH GROUP BY                        |                   |   251 | 53965 |    36   (6)| 00:00:01 |
    |   2 |   NESTED LOOPS                        |                   |   251 | 53965 |    35   (3)| 00:00:01 |
    |   3 |    NESTED LOOPS                       |                   |   252 | 52920 |    34   (3)| 00:00:01 |
    |   4 |     NESTED LOOPS                      |                   |   252 | 51408 |    33   (4)| 00:00:01 |
    |*  5 |      HASH JOIN                        |                   |   251 | 46686 |    32   (4)| 00:00:01 |
    |*  6 |       TABLE ACCESS BY INDEX ROWID     | MT_PAY_RECORD_FIN |     1 |    44 |     1   (0)| 00:00:01 |
    |   7 |        NESTED LOOPS                   |                   |    28 |  4704 |    28   (0)| 00:00:01 |
    |   8 |         NESTED LOOPS                  |                   |    28 |  3472 |    22   (0)| 00:00:01 |
    |   9 |          NESTED LOOPS                 |                   |    79 |  9638 |    21   (0)| 00:00:01 |
    |  10 |           INLIST ITERATOR             |                   |       |       |            |          |
    |  11 |            TABLE ACCESS BY INDEX ROWID| MT_BIZ_FIN        |    79 |  6952 |     6   (0)| 00:00:01 |
    |* 12 |             INDEX RANGE SCAN          | IDX$$_429C0001    |    27 |       |     1   (0)| 00:00:01 |
    |  13 |           TABLE ACCESS BY INDEX ROWID | BS_HOSPITAL       |     1 |    34 |     1   (0)| 00:00:01 |
    |* 14 |            INDEX UNIQUE SCAN          | PK_BS_HOSPITAL    |     1 |       |     1   (0)| 00:00:01 |
    |* 15 |          INDEX UNIQUE SCAN            | PK_BS_HOSP_LEVEL  |     1 |     2 |     1   (0)| 00:00:01 |
    |* 16 |         INDEX RANGE SCAN              | IDX$$_429C0002    |     1 |       |     1   (0)| 00:00:01 |
    |  17 |       TABLE ACCESS FULL               | BS_BIZTYPE        |    96 |  1728 |     3   (0)| 00:00:01 |
    |* 18 |      INDEX RANGE SCAN                 | INX_BS_DISEASE_01 |     1 |    18 |     1   (0)| 00:00:01 |
    |* 19 |     INDEX UNIQUE SCAN                 | PK_BS_INSURED     |     1 |     6 |     1   (0)| 00:00:01 |
    |* 20 |    INDEX UNIQUE SCAN                  | PK_BS_CORP        |     1 |     5 |     1   (0)| 00:00:01 |
    -----------------------------------------------------------------------------------------------------------
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    5 - access("A"."BIZ_TYPE"="F"."BIZ_TYPE" AND "A"."CENTER_ID"="F"."CENTER_ID")
    6 - filter("B"."VALID_FLAG"='1')
    12 - access("A"."IDCARD"='430703198202280017' AND "A"."VALID_FLAG"='1' AND ("A"."PERS_TYPE"='1'
    OR "A"."PERS_TYPE"='2'))
    filter("A"."BIZ_TYPE"='10' OR "A"."BIZ_TYPE"='11' OR "A"."BIZ_TYPE"='12' OR
    "A"."BIZ_TYPE"='13' OR "A"."BIZ_TYPE"='16' OR "A"."BIZ_TYPE"='17')
    14 - access("A"."HOSPITAL_ID"="D"."HOSPITAL_ID")
    15 - access("D"."HOSP_LEVEL"="E"."HOSP_LEVEL")
    16 - access("A"."HOSPITAL_ID"="B"."HOSPITAL_ID" AND "A"."SERIAL_NO"="B"."SERIAL_NO")
    18 - access("A"."CENTER_ID"="C"."CENTER_ID" AND "A"."FIN_DISEASE"="C"."ICD")
    19 - access("H"."INDI_ID"="A"."INDI_ID")
    20 - access("A"."CORP_ID"="G"."CORP_ID")
    2- Using SQL Profile
    --------------------
    Plan hash value: 484693682
    -----------------------------------------------------------------------------------------------------------
    | Id  | Operation                             | Name              | Rows  | Bytes | Cost (%CPU)| Time     |
    -----------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT                      |                   |   251 | 53965 |    25   (4)| 00:00:01 |
    |   1 |  HASH GROUP BY                        |                   |   251 | 53965 |    25   (4)| 00:00:01 |
    |*  2 |   TABLE ACCESS BY INDEX ROWID         | MT_PAY_RECORD_FIN |     1 |    44 |     1   (0)| 00:00:01 |
    |   3 |    NESTED LOOPS                       |                   |   251 | 53965 |    24   (0)| 00:00:01 |
    |   4 |     NESTED LOOPS                      |                   |    28 |  4788 |    19   (6)| 00:00:01 |
    |   5 |      NESTED LOOPS                     |                   |    28 |  4284 |    18   (6)| 00:00:01 |
    |   6 |       NESTED LOOPS                    |                   |    28 |  4116 |    17   (6)| 00:00:01 |
    |   7 |        NESTED LOOPS                   |                   |    28 |  4060 |    16   (7)| 00:00:01 |
    |   8 |         NESTED LOOPS                  |                   |    28 |  3108 |    10   (0)| 00:00:01 |
    |*  9 |          HASH JOIN                    |                   |    28 |  2968 |     9   (0)| 00:00:01 |
    |  10 |           TABLE ACCESS FULL           | BS_BIZTYPE        |    96 |  1728 |     3   (0)| 00:00:01 |
    |  11 |           INLIST ITERATOR             |                   |       |       |            |          |
    |  12 |            TABLE ACCESS BY INDEX ROWID| MT_BIZ_FIN        |    79 |  6952 |     6   (0)| 00:00:01 |
    |* 13 |             INDEX RANGE SCAN          | IDX$$_429C0001    |    27 |       |     1   (0)| 00:00:01 |
    |* 14 |          INDEX UNIQUE SCAN            | PK_BS_CORP        |     1 |     5 |     1   (0)| 00:00:01 |
    |  15 |         TABLE ACCESS BY INDEX ROWID   | BS_HOSPITAL       |     1 |    34 |     1   (0)| 00:00:01 |
    |* 16 |          INDEX UNIQUE SCAN            | PK_BS_HOSPITAL    |     1 |       |     1   (0)| 00:00:01 |
    |* 17 |        INDEX UNIQUE SCAN              | PK_BS_HOSP_LEVEL  |     1 |     2 |     1   (0)| 00:00:01 |
    |* 18 |       INDEX UNIQUE SCAN               | PK_BS_INSURED     |     1 |     6 |     1   (0)| 00:00:01 |
    |* 19 |      INDEX RANGE SCAN                 | INX_BS_DISEASE_01 |     1 |    18 |     1   (0)| 00:00:01 |
    |* 20 |     INDEX RANGE SCAN                  | IDX$$_429C0002    |     1 |       |     1   (0)| 00:00:01 |
    -----------------------------------------------------------------------------------------------------------
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    2 - filter("B"."VALID_FLAG"='1')
    9 - access("A"."BIZ_TYPE"="F"."BIZ_TYPE" AND "A"."CENTER_ID"="F"."CENTER_ID")
    13 - access("A"."IDCARD"='430703198202280017' AND "A"."VALID_FLAG"='1' AND ("A"."PERS_TYPE"='1'
    OR "A"."PERS_TYPE"='2'))
    filter("A"."BIZ_TYPE"='10' OR "A"."BIZ_TYPE"='11' OR "A"."BIZ_TYPE"='12' OR
    "A"."BIZ_TYPE"='13' OR "A"."BIZ_TYPE"='16' OR "A"."BIZ_TYPE"='17')
    14 - access("A"."CORP_ID"="G"."CORP_ID")
    16 - access("A"."HOSPITAL_ID"="D"."HOSPITAL_ID")
    17 - access("D"."HOSP_LEVEL"="E"."HOSP_LEVEL")
    18 - access("H"."INDI_ID"="A"."INDI_ID")
    19 - access("A"."CENTER_ID"="C"."CENTER_ID" AND "A"."FIN_DISEASE"="C"."ICD")
    20 - access("A"."HOSPITAL_ID"="B"."HOSPITAL_ID" AND "A"."SERIAL_NO"="B"."SERIAL_NO")
    -------------------------------------------------------------------------------

    posted on 2014-08-13 10:25 順其自然EVO 閱讀(421) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

    <2014年8月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 又硬又粗又长又爽免费看 | 日韩成人毛片高清视频免费看| 日韩免费电影在线观看| 黄色毛片免费网站| 亚洲av最新在线网址| 无码日韩精品一区二区免费| 国产成人亚洲精品91专区高清 | 无码AV片在线观看免费| 一本色道久久88亚洲精品综合| 在线观看免费a∨网站| 一级片在线免费看| 亚洲天堂一区二区| 免费看a级黄色片| 男女午夜24式免费视频| 亚洲成AV人片高潮喷水| 亚洲AV永久无码精品一百度影院 | 久久精品国产亚洲av四虎| 成年人网站在线免费观看| aa午夜免费剧场| 亚洲中文字幕无码爆乳app| 国产精品亚洲аv无码播放| 97热久久免费频精品99| 免费国产高清毛不卡片基地| 亚洲毛片在线观看| 亚洲高清偷拍一区二区三区| 国产成人精品免费视频动漫 | 久热免费在线视频| 亚洲男人av香蕉爽爽爽爽| 黄瓜视频影院在线观看免费| 亚洲一区二区三区免费| 77777午夜亚洲| 久久久久亚洲AV成人无码网站 | 亚洲精品国产精品国自产观看| 91免费播放人人爽人人快乐| 免费激情网站国产高清第一页| 亚洲人成人77777在线播放| 久久国产色AV免费观看| 黄色片网站在线免费观看| 亚洲AV成人一区二区三区在线看| 亚洲AV无码国产在丝袜线观看| 国产免费卡一卡三卡乱码|