Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 我想微调一个查询,它在数据库上花费了3-5个多小时_Sql_Oracle_Oracle11g_Oracle10g_Query Performance - Fatal编程技术网

Sql 我想微调一个查询,它在数据库上花费了3-5个多小时

Sql 我想微调一个查询,它在数据库上花费了3-5个多小时,sql,oracle,oracle11g,oracle10g,query-performance,Sql,Oracle,Oracle11g,Oracle10g,Query Performance,我想对下面的查询进行微调,这需要很长时间才能在数据库上运行。查询如下: SELECT RSE.RSE_CD_D_BRANCH.FIN_DIVISION_CODE, RSE.RSE_CD_D_PRODUCT_BRANCH_CUR.BUYER, RSE.RSE_CD_D_PRODUCT_FLAT.BUY_LINE, RSE.RSE_CD_D_BRANCH.FIN_BRANCH_CODE, RSE.RSE_CD_D_BRANCH.BRANCH_NUMBER, RSE.RSE_C

我想对下面的查询进行微调,这需要很长时间才能在数据库上运行。查询如下:

SELECT
  RSE.RSE_CD_D_BRANCH.FIN_DIVISION_CODE,
  RSE.RSE_CD_D_PRODUCT_BRANCH_CUR.BUYER,
  RSE.RSE_CD_D_PRODUCT_FLAT.BUY_LINE,
  RSE.RSE_CD_D_BRANCH.FIN_BRANCH_CODE,
  RSE.RSE_CD_D_BRANCH.BRANCH_NUMBER,
  RSE.RSE_CD_D_PRODUCT_FLAT.PRODUCT_NUMBER,
  NVL(RSE.RSE_CD_D_PRODUCT_FLAT.PRODUCT_DESC,RSE.RSE_CD_D_PRODUCT_FLAT.PRODUCT_DESC_LONG),
  SUM(RSE.RSE_IV_F_VALUATION_SV.ON_HAND_QTY),
  SUM(RSE.RSE_IV_F_VALUATION_SV.COMMITTED_QTY),
  SUM(RSE.RSE_IV_F_VALUATION_SV.COMMITTED_QTY_RAW),
  SUM(RSE.RSE_IV_F_VALUATION_SV.DEMAND_PER_DAY_ECL_HUB),
  SUM(RSE.RSE_IV_F_VALUATION_SV.INBOUND_RECEIPT_QTY),
  RSE.RSE_IV_F_VALUATION_SV.BRANCH_STOCK_FLAG,
  RSE.RSE_CD_D_PRODUCT_BRANCH_CUR.TOP_200_ITEM_FLAG,
  SUBSTR(RSE.RSE_CD_D_PRODUCT_BRANCH_CUR.FULL_ISO,3,2),
  RSE.RSE_CD_D_PRODUCT_BRANCH_CUR.ORDER_PNT_XFER_PNT
FROM
  RSE.RSE_CD_D_BRANCH,
  RSE.RSE_CD_D_PRODUCT_BRANCH_CUR,
  RSE.RSE_CD_D_PRODUCT_FLAT,
  RSE.RSE_IV_F_VALUATION_SV,
  RSE.RSE_CD_D_CALENDAR
WHERE
  ( RSE.RSE_CD_D_BRANCH.DW_BRANCH_ID=RSE.RSE_IV_F_VALUATION_SV.DW_BRANCH_ID  )
  AND  ( RSE.RSE_CD_D_CALENDAR.CALENDAR_DATE=RSE.RSE_IV_F_VALUATION_SV.VALUATION_DATE  )
  AND  ( RSE.RSE_CD_D_PRODUCT_FLAT.PRODUCT_ID=RSE.RSE_IV_F_VALUATION_SV.PRODUCT_ID  )
  AND  ( RSE.RSE_CD_D_PRODUCT_BRANCH_CUR.PRODUCT_ID=RSE.RSE_IV_F_VALUATION_SV.PRODUCT_ID and RSE.RSE_CD_D_PRODUCT_BRANCH_CUR.DW_BRANCH_ID=RSE.RSE_IV_F_VALUATION_SV.DW_BRANCH_ID  )
  AND  ( RSE.RSE_IV_F_VALUATION_SV.SSO_ID= '570000018'  )
  AND  
  (
   RSE.RSE_CD_D_CALENDAR.DAY_RELATIVE  =  0
   AND
   RSE.RSE_CD_D_BRANCH.BRANCH_NUMBER  NOT IN  ( '1167','2305','1581','3129','1075','1078','7995'  )
   AND
   RSE.RSE_CD_D_PRODUCT_BRANCH_CUR.ORDER_PNT_XFER_PNT  >  0
   AND
   RSE.RSE_IV_F_VALUATION_SV.LOCATION_TYPE_DESC  IN  ( 'CONSIGNMENT','STOCK','PREVIEW QUEUE','TAGGED'  )
   AND
   CASE WHEN RSE.RSE_CD_D_PRODUCT_BRANCH_CUR.BASE_STOCK_FLAG = '0' THEN 'N' WHEN RSE.RSE_CD_D_PRODUCT_BRANCH_CUR.BASE_STOCK_FLAG = '1' THEN 'Y' ELSE 'AUTO' END  IN  ( 'AUTO','Y'  )
   AND
   RSE.RSE_CD_D_PRODUCT_FLAT.PRODUCT_STATUS_DESC  IN  ( 'Stock'  )
   AND
   RSE.RSE_CD_D_PRODUCT_BRANCH_CUR.FULL_ISO  IN  ( 'S.A','S.A1','S.A2','S.A3','S.A4','S.B','S.B1','S.B2','S.B3','S.B4','S.NA','S.NB','S.NS','S.S','S.S1','S.S2','S.S3','S.S4','S.T2','S.T3'  )
  )
GROUP BY
  RSE.RSE_CD_D_BRANCH.FIN_DIVISION_CODE, 
  RSE.RSE_CD_D_PRODUCT_BRANCH_CUR.BUYER, 
  RSE.RSE_CD_D_PRODUCT_FLAT.BUY_LINE, 
  RSE.RSE_CD_D_BRANCH.FIN_BRANCH_CODE, 
  RSE.RSE_CD_D_BRANCH.BRANCH_NUMBER, 
  RSE.RSE_CD_D_PRODUCT_FLAT.PRODUCT_NUMBER, 
  NVL(RSE.RSE_CD_D_PRODUCT_FLAT.PRODUCT_DESC,RSE.RSE_CD_D_PRODUCT_FLAT.PRODUCT_DESC_LONG), 
  RSE.RSE_IV_F_VALUATION_SV.BRANCH_STOCK_FLAG, 
  RSE.RSE_CD_D_PRODUCT_BRANCH_CUR.TOP_200_ITEM_FLAG, 
  SUBSTR(RSE.RSE_CD_D_PRODUCT_BRANCH_CUR.FULL_ISO,3,2), 
  RSE.RSE_CD_D_PRODUCT_BRANCH_CUR.ORDER_PNT_XFER_PNT
HAVING
  SUM(RSE.RSE_IV_F_VALUATION_SV.DEMAND_PER_DAY_ECL_HUB)  >  0;
以下是解释计划:

Plan hash value: 2631612456

-----------------------------------------------------------------------------------------------------------------------------------------
| Id  | Operation                                 | Name                        | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
-----------------------------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                          |                             |     1 |   215 |   479K  (1)| 01:35:59 |       |       |
|*  1 |  FILTER                                   |                             |       |       |            |          |       |       |
|   2 |   HASH GROUP BY                           |                             |     1 |   215 |   479K  (1)| 01:35:59 |       |       |
|   3 |    NESTED LOOPS                           |                             |       |       |            |          |       |       |
|   4 |     NESTED LOOPS                          |                             |     1 |   215 |   479K  (1)| 01:35:59 |       |       |
|   5 |      NESTED LOOPS                         |                             |     1 |   116 |   479K  (1)| 01:35:59 |       |       |
|   6 |       NESTED LOOPS                        |                             |     1 |    97 |   479K  (1)| 01:35:59 |       |       |
|*  7 |        HASH JOIN                          |                             |     1 |    82 |   479K  (1)| 01:35:58 |       |       |
|   8 |         TABLE ACCESS BY INDEX ROWID       | RSE_CD_D_CALENDAR           |     1 |    13 |     2   (0)| 00:00:01 |       |       |
|*  9 |          INDEX RANGE SCAN                 | RSE_CD_D_CALENDAR_I5        |     1 |       |     1   (0)| 00:00:01 |       |       |
|  10 |         NESTED LOOPS                      |                             |       |       |            |          |       |       |
|  11 |          NESTED LOOPS                     |                             |   173 | 11937 |   479K  (1)| 01:35:58 |       |       |
|  12 |           INLIST ITERATOR                 |                             |       |       |            |          |       |       |
|* 13 |            TABLE ACCESS BY INDEX ROWID    | RSE_CD_D_PRODUCT_BRANCH_CUR |   147 |  4263 | 48731   (1)| 00:09:45 |       |       |
|* 14 |             INDEX RANGE SCAN              | RSE_CD_D_PROD_BRANC_CUR_I2  |   208K|       |   602   (1)| 00:00:08 |       |       |
|  15 |           PARTITION RANGE ALL             |                             |     1 |       |  2932   (1)| 00:00:36 |     1 |  1465 |
|* 16 |            INDEX RANGE SCAN               | RSE_IV_F_VALUATION_I5       |     1 |       |  2932   (1)| 00:00:36 |     1 |  1465 |
|* 17 |          TABLE ACCESS BY LOCAL INDEX ROWID| RSE_IV_F_VALUATION          |     1 |    40 |  2933   (1)| 00:00:36 |     1 |     1 |
|* 18 |        TABLE ACCESS BY INDEX ROWID        | RSE_IV_D_SECURITY_BRANCH    |     1 |    15 |     5   (0)| 00:00:01 |       |       |
|* 19 |         INDEX RANGE SCAN                  | RSE_IV_D_SECURITY_BRANCH_I2 |   580 |       |     1   (0)| 00:00:01 |       |       |
|* 20 |       TABLE ACCESS BY INDEX ROWID         | RSE_CD_D_BRANCH             |     1 |    19 |     1   (0)| 00:00:01 |       |       |
|* 21 |        INDEX UNIQUE SCAN                  | RSE_CD_D_BRANCH_PK          |     1 |       |     0   (0)| 00:00:01 |       |       |
|* 22 |      INDEX UNIQUE SCAN                    | RSE_CD_PRODUCT_FLAT_PK      |     1 |       |     1   (0)| 00:00:01 |       |       |
|* 23 |     TABLE ACCESS BY INDEX ROWID           | RSE_CD_D_PRODUCT_FLAT       |     1 |    99 |     2   (0)| 00:00:01 |       |       |
-----------------------------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - filter(SUM("A"."DEMAND_PER_DAY_ECL_HUB")>0)
   7 - access("RSE_CD_D_CALENDAR"."CALENDAR_DATE"="A"."VALUATION_DATE")
   9 - access("RSE_CD_D_CALENDAR"."DAY_RELATIVE"=0)
  13 - filter("RSE_CD_D_PRODUCT_BRANCH_CUR"."ORDER_PNT_XFER_PNT">0 AND (CASE "RSE_CD_D_PRODUCT_BRANCH_CUR"."BASE_STOCK_FLAG" 
              WHEN '0' THEN 'N' WHEN '1' THEN 'Y' ELSE 'AUTO' END ='AUTO' OR CASE "RSE_CD_D_PRODUCT_BRANCH_CUR"."BASE_STOCK_FLAG" WHEN '0' 
              THEN 'N' WHEN '1' THEN 'Y' ELSE 'AUTO' END ='Y'))
  14 - access("RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.A' OR "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.A1' OR 
              "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.A2' OR "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.A3' OR 
              "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.A4' OR "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.B' OR 
              "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.B1' OR "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.B2' OR 
              "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.B3' OR "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.B4' OR 
              "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.NA' OR "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.NB' OR 
              "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.NS' OR "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.S' OR 
              "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.S1' OR "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.S2' OR 
              "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.S3' OR "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.S4' OR 
              "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.T2' OR "RSE_CD_D_PRODUCT_BRANCH_CUR"."FULL_ISO"='S.T3')
  16 - access("RSE_CD_D_PRODUCT_BRANCH_CUR"."DW_BRANCH_ID"="A"."DW_BRANCH_ID" AND 
              "RSE_CD_D_PRODUCT_BRANCH_CUR"."PRODUCT_ID"="A"."PRODUCT_ID")
  17 - filter("A"."LOCATION_TYPE_DESC"='CONSIGNMENT' OR "A"."LOCATION_TYPE_DESC"='PREVIEW QUEUE' OR 
              "A"."LOCATION_TYPE_DESC"='STOCK' OR "A"."LOCATION_TYPE_DESC"='TAGGED')
  18 - filter("B"."SSO_ID"='570000018')
  19 - access("A"."DW_BRANCH_ID"="B"."DW_BRANCH_ID")
  20 - filter("RSE_CD_D_BRANCH"."BRANCH_NUMBER"<>'1167' AND "RSE_CD_D_BRANCH"."BRANCH_NUMBER"<>'2305' AND 
              "RSE_CD_D_BRANCH"."BRANCH_NUMBER"<>'1581' AND "RSE_CD_D_BRANCH"."BRANCH_NUMBER"<>'3129' AND 
              "RSE_CD_D_BRANCH"."BRANCH_NUMBER"<>'1075' AND "RSE_CD_D_BRANCH"."BRANCH_NUMBER"<>'1078' AND 
              "RSE_CD_D_BRANCH"."BRANCH_NUMBER"<>'7995')
  21 - access("RSE_CD_D_BRANCH"."DW_BRANCH_ID"="A"."DW_BRANCH_ID")
  22 - access("RSE_CD_D_PRODUCT_FLAT"."PRODUCT_ID"="A"."PRODUCT_ID")
  23 - filter("RSE_CD_D_PRODUCT_FLAT"."PRODUCT_STATUS_DESC"='Stock')
计划哈希值:2631612456
-----------------------------------------------------------------------------------------------------------------------------------------
|Id |操作|名称|行|字节|成本(%CPU)|时间| Pstart | Pstop|
-----------------------------------------------------------------------------------------------------------------------------------------
|0 | SELECT语句| 1 | 215 | 479K(1)| 01:35:59 ||
|*1 |过滤器| | | | | ||
|2 | HASH GROUP BY | 1 | 215 | 479K(1)| 01:35:59 ||
|3 |嵌套循环| | | | | | ||
|4 |嵌套循环| 1 | 215 | 479K(1)| 01:35:59 ||
|5 |嵌套循环| 1 | 116 | 479K(1)| 01:35:59 ||
|6 |嵌套循环| 1 | 97 | 479K(1)| 01:35:59 ||
|*7 |散列连接| 1 | 82 | 479K(1)| 01:35:58 ||
|8 |按索引ROWID访问表| RSE|U CD|U日历| 1 | 13 | 2(0)| 00:00:01 ||
|*9 |索引范围扫描| RSE|U CD|U日历| I5 | 1 | 1(0)| 00:00:01 ||
|10 |嵌套循环| | | | | | ||
|11 |嵌套循环| 173 | 11937 | 479K(1)| 01:35:58 ||
|12 |内联迭代器| | | | | ||
|*13 |按索引行ID访问表| RSE | CD | U D | U产品| U CUR | 147 | 4263 | 48731(1)| 00:09:45 ||
|*14 |索引范围扫描| RSE | CD | U D | U生产部门| CUR | I2 | 208K | 602(1)| 00:00:08 ||
|15 |分区范围全部| | 1 | | 2932(1)| 00:00:36 | 1 | 1465|
|*16 |索引范围扫描| RSE | IV | F | U评估| I5 | 1 | 2932(1)| 00:00:36 | 1 | 1465|
|*17 |按本地索引ROWID访问表| RSE|IV|F|U估值| 1 | 40 | 2933(1)| 00:00:36 | 1 | 1|
|*18 |按索引ROWID访问表| RSE|U IV|U D|U SECURITY|U BRANCH | 1 | 15 | 5(0)| 00:00:01 ||
|*19 |索引范围扫描| RSE | IV | U D | U安全| U I2 | 580 | 1(0)| 00:00:01 ||
|*20 |按索引行ID访问表| RSE | U CD | U D | U分支| 1 | 19 | 1(0)| 00:00:01 ||
|*21 |索引唯一扫描| RSE | CD | D | U分支| PK | 1 | | 0(0)| 00:00:01 ||
|*22 |索引唯一扫描| RSE | CD |产品|平面| PK | 1 | 1(0)| 00:00:01 ||
|*23 |按索引ROWID访问表| RSE | CD | U D | U产品|平面| 1 | 99 | 2(0)| 00:00:01 ||
-----------------------------------------------------------------------------------------------------------------------------------------
谓词信息(由操作id标识):
---------------------------------------------------
1-过滤器(总和(“A”。“每日需求量”\u ECL\u中心”)>0)
7-访问(“RSE_CD_D_日历”,“日历日期”=“A”,“估价日期”)
9-访问(“RSE_CD_D_日历”,“相对日期”=0)
13-过滤器(“RSE\U CD\U D\U产品\U分支机构”.“订单\U PNT\U XFER\U PNT”>0和(案例“RSE\U CD\U D\U产品\U分支机构”.“基本库存\U标志”
当“0”时,当“1”时,当“N”时,当“Y”时,当“1”时,当“Y”时,当“自动”时,当“RSE\U CD\U D\U产品\U分支机构\U CUR”时,当“0”时,当“基本库存\U标志”
然后是“N”,当“1”时是“Y”,否则是“AUTO”END='Y'))
14-访问(“RSE_CD_D_产品_分支机构”;“完整ISO”=“S.A”或“RSE_CD_D_产品_分支机构”;“完整ISO”=“S.A1”或
“RSE_CD_D_产品_分支_CUR”。“完整ISO”=“S.A2”或“RSE_CD_D_产品_分支_CUR”。“完整ISO”=“S.A3”或
“RSE_CD_D_产品_分支机构”;“完整ISO”='S.A4'或“RSE_CD_D_产品_分支机构”;“完整ISO”='S.B'或
“RSE_CD_D_产品_分支机构”;“完整ISO”='S.B1'或“RSE_CD_D_产品_分支机构”;“完整ISO”='S.B2'或
“RSE_CD_D_产品_分支机构”;“完整ISO”='S.B3'或“RSE_CD_D_产品_分支机构”;“完整ISO”='S.B4'或
“RSE_CD_D_产品_分支_CUR”。“完整ISO”=“S.NA”或“RSE_CD_D_产品_分支_CUR”。“完整ISO”=“S.NB”或
“RSE_CD_D_产品_分支_CUR”。“完整ISO”=“S.NS”或“RSE_CD_D_产品_分支_CUR”。“完整ISO”=“S.S”或
“RSE_CD_D_产品_分支_CUR”。“完整ISO”=“S.S1”或“RSE_CD_D_产品_分支_CUR”。“完整ISO”=“S.S2”或
“RSE_CD_D_产品_分支_CUR”。“完整ISO”='S.S3'或“RSE_CD_D_产品_分支_CUR”。“完整ISO”='S.S4'或
“RSE_CD_D_产品_分支_CUR”。“完整ISO”='S.T2'或“RSE_CD_D_产品_分支_CUR”。“完整ISO”='S.T3')
16-访问(“RSE_CD_D_产品_分支机构_CUR”。“DW_分支机构_ID”=“A”。“DW_分支机构_ID”和
EXEC DBMS_STATS.gather_schema_stats('SCHEMA_NAME');
(SELECT
  SUM(val.ON_HAND_QTY) sum_on_hand_qty,
  SUM(val.COMMITTED_QTY) sum_commited_qty,
  SUM(val.COMMITTED_QTY_RAW) sum_commited_qty_raw,
  SUM(val.DEMAND_PER_DAY_ECL_HUB) sum_demand_per_day_ecl_hub,
  SUM(val.INBOUND_RECEIPT_QTY) sum_inbound_receipt_qty,
  val.BRANCH_STOCK_FLAG,
  val.DW_BRANCH_ID,
  val.PRODUCT_ID
FROM RSE.RSE_IV_F_VALUATION_SV val
JOIN RSE.RSE_CD_D_CALENDAR cal ON cal.CALENDAR_DATE=val.VALUATION_DATE AND cal.DAY_RELATIVE  =  0
WHERE val.SSO_ID= '570000018' AND val.LOCATION_TYPE_DESC  IN  ( 'CONSIGNMENT','STOCK','PREVIEW QUEUE','TAGGED'  )
GROUP BY val.DW_BRANCH_ID,val.PRODUCT_ID,val.BRANCH_STOCK_FLAG
HAVING SUM(val.DEMAND_PER_DAY_ECL_HUB)>0) sums
--drop table RSE_CD_D_PRODUCT_BRANCH_CUR;
create table RSE_CD_D_PRODUCT_BRANCH_CUR(BASE_STOCK_FLAG varchar2(100));
insert into RSE_CD_D_PRODUCT_BRANCH_CUR select '0' from dual connect by level <= 10;
insert into RSE_CD_D_PRODUCT_BRANCH_CUR select '1' from dual connect by level <= 5000;
insert into RSE_CD_D_PRODUCT_BRANCH_CUR select '2' from dual connect by level <= 5000;

begin
    dbms_stats.gather_table_stats(user, 'RSE_CD_D_PRODUCT_BRANCH_CUR');
end;
/
explain plan for
select *
from RSE_CD_D_PRODUCT_BRANCH_CUR
WHERE
    CASE
        WHEN BASE_STOCK_FLAG = '0' THEN 'N'
        WHEN BASE_STOCK_FLAG = '1' THEN 'Y'
        ELSE 'AUTO'
    END IN ( 'AUTO','Y'  );

select * from table(dbms_xplan.display);

Plan hash value: 1579167612

-------------------------------------------------------------------------------------------------
| Id  | Operation         | Name                        | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |                             |   199 |   398 |     5   (0)| 00:00:01 |
|*  1 |  TABLE ACCESS FULL| RSE_CD_D_PRODUCT_BRANCH_CUR |   199 |   398 |     5   (0)| 00:00:01 |
-------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - filter(CASE "BASE_STOCK_FLAG" WHEN '0' THEN 'N' WHEN '1' THEN 'Y' ELSE 'AUTO' END 
              ='AUTO' OR CASE "BASE_STOCK_FLAG" WHEN '0' THEN 'N' WHEN '1' THEN 'Y' ELSE 'AUTO' END 
              ='Y')
select dbms_stats.create_extended_stats(user, 'RSE_CD_D_PRODUCT_BRANCH_CUR', q'{(CASE "BASE_STOCK_FLAG" WHEN '0' THEN 'N' WHEN '1' THEN 'Y' ELSE 'AUTO' END)}')
from dual;

SYS_STU23HKS830RX09S$M3L713_6_
begin
    dbms_stats.gather_table_stats(user, 'RSE_CD_D_PRODUCT_BRANCH_CUR');
end;
/

explain plan for
select *
from RSE_CD_D_PRODUCT_BRANCH_CUR
WHERE
    CASE
        WHEN BASE_STOCK_FLAG = '0' THEN 'N'
        WHEN BASE_STOCK_FLAG = '1' THEN 'Y'
        ELSE 'AUTO'
    END IN ( 'AUTO','Y'  );

select * from table(dbms_xplan.display);

Plan hash value: 1579167612

-------------------------------------------------------------------------------------------------
| Id  | Operation         | Name                        | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |                             |  6673 | 33365 |     5   (0)| 00:00:01 |
|*  1 |  TABLE ACCESS FULL| RSE_CD_D_PRODUCT_BRANCH_CUR |  6673 | 33365 |     5   (0)| 00:00:01 |
-------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - filter(CASE "BASE_STOCK_FLAG" WHEN '0' THEN 'N' WHEN '1' THEN 'Y' ELSE 'AUTO' END 
              ='AUTO' OR CASE "BASE_STOCK_FLAG" WHEN '0' THEN 'N' WHEN '1' THEN 'Y' ELSE 'AUTO' END 
              ='Y')
select *
from RSE_CD_D_PRODUCT_BRANCH_CUR
WHERE
    CASE
        WHEN BASE_STOCK_FLAG = '0' THEN 'N'
        WHEN BASE_STOCK_FLAG = '1' THEN 'Y'
        ELSE 'AUTO'
    END IN ( 'AUTO','Y'  );

begin
    dbms_stats.gather_table_stats(user, 'RSE_CD_D_PRODUCT_BRANCH_CUR');
end;
/

explain plan for
select *
from RSE_CD_D_PRODUCT_BRANCH_CUR
WHERE
    CASE
        WHEN BASE_STOCK_FLAG = '0' THEN 'N'
        WHEN BASE_STOCK_FLAG = '1' THEN 'Y'
        ELSE 'AUTO'
    END IN ( 'AUTO','Y'  );

select * from table(dbms_xplan.display);



Plan hash value: 1579167612

-------------------------------------------------------------------------------------------------
| Id  | Operation         | Name                        | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |                             | 10000 | 50000 |     5   (0)| 00:00:01 |
|*  1 |  TABLE ACCESS FULL| RSE_CD_D_PRODUCT_BRANCH_CUR | 10000 | 50000 |     5   (0)| 00:00:01 |
-------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - filter(CASE "BASE_STOCK_FLAG" WHEN '0' THEN 'N' WHEN '1' THEN 'Y' ELSE 'AUTO' END 
              ='AUTO' OR CASE "BASE_STOCK_FLAG" WHEN '0' THEN 'N' WHEN '1' THEN 'Y' ELSE 'AUTO' END 
              ='Y')