파티션 힌트에 대해 구글링 했는데 아무리봐도 모르겠어서 질문 드립니다. ㅠㅠ
아래와 같이 파티션이 있는 테이블을 생성하였습니다.
1. where조건에 collect_time값을 정해주면
알아서 파티션을 찾아 select 가 되는건가요??
2. 그렇지 않을 경우 트를 써야한다면 파티션 힌트는 어떻게 줘야 하나요??
아래 쿼리가 맞는 쿼리인가요??
힌트가 제대로 적용 됐다면 10월 9일데이터만 select 되어야하는게 맞는거 같은데 전체 데이터를 select 하더라구요..
무엇이 잘못됐는지 알려주시면 감사하겠습니다.
SELECT /*+ INDEX (A TB_TEST_PARTITION_151009*/ *
FROM TB_TEST_PARTITION A
-----------------------------------------------------------------------------
CREATE TABLE TB_TEST_PARTITION
(
TEST_VALUE VARCHAR2(14 BYTE),
COLLECT_TIME VARCHAR2(14 BYTE)
)
PARTITION BY RANGE (COLLECT_TIME)
(
PARTITION TB_TEST_PARTITION_151008 VALUES LESS THAN ('20151009000000')
LOGGING
NOCOMPRESS
TABLESPACE USERS
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
),
PARTITION TB_TEST_PARTITION_151009 VALUES LESS THAN ('20151010000000')
LOGGING
NOCOMPRESS
TABLESPACE USERS
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
)
NOCACHE
NOPARALLEL
MONITORING;
|