* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
|
Window7 32bit, Linux 64bit 등 |
|
[cubrid_rel] 수행 결과 |
|
[도움말]-[버전정보] 확인 |
|
java, php, odbc 등 입력 |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
안녕하세요 큐브리드에서 제공하는 파티셔닝을 사용해서 조회를 했는데 파티셔닝이 안타서 문의드립니다.
메뉴얼에 보면 리스트 파티션을 나누고 조회시 파티션키에 대한 조건을 주면 파티션이 타야되는데 기본 테이블만 타서 왜그런지 궁금해서 질문드립니다.
ex) select * from test005n a where DEPT_CDE = '10'
또한 예제로 나와있는 직접 명시했을시에는 파티션이 탑니다.
ex) select * from test005n PARTITION (test005n_part_1) a where DEPT_CDE = '10'
혹시 제약사항으로 인덱스가 사용되면 안되는것인지요?
첨부파일에 질의쿼리 올렸습니다. 확인부탁드립니다. ㅠ
올려주신대로 리스트 파티션을 나눈 후, 조회 시 파티션 키에대한 조건을 주면 파티션 프루닝을 통해, 검색 범위를 한정시켜 최적화 합니다.
즉, select * from test005n a where DEPT_CDE = '10'
위 쿼리의 경우, 리스트 분할 키를 이용해 특정 파티션에서만 질의가 이뤄집니다.
또한, 아래 쿼리처럼 직접 파티션 이름을 명시하는 경우, where 조건의 파티션 키에 관한 조건이 없어도 해당 분할만 조회하게 됩니다.
따라서 위 두 쿼리의 경우 조회되는 값이 같을 것으로 예상됩니다.
자세한 내용은 아래 '분할 프루닝' 메뉴얼을 참고해주시기 바랍니다.
감사합니다.
https://www.cubrid.org/manual/ko/11.0/sql/partition.html#partition-pruning