database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41656 게시물 읽기
No. 41656
인덱스 관련해서 질문 드립니다.
작성자
권기혁(leolo)
작성일
2018-11-14 22:34
조회수
3,164

인덱스 관련해서 질문 드립니다.

create index test_idx on test_table ( YMD, Agent, Skill);

 

create index test_idx1 on test_table (Agent, YMD, Skill);

위 두개의 index 를 하나의 동일한 테이블에 걸 경우 어떤 영향이 있는건가요..

순서가 성능에 영향이 있는건가요.

아니면, 동일한데 쓸대 없이 2개 한게 되는건가요..

이 글에 대한 댓글이 총 2건 있습니다.

 순서가 select 성능에 영향을 미침

인덱스를 많이 만들면 insert, update 성능이 떨어짐

그래서 보통 조회쿼리를 수집해

다량 수행되고 필수 검색 등호조건의 컬럼을 앞으로 두고

범위검색 조건은 뒤쪽에 배치하면서

인덱스 갯수를 최소화함

 

스킵스캔 기능으로 인덱스 컬럼순서에 의한 성능차는 많이 작아짐

 

할 수 있으면 테스트 배드를 만들어서 확인해 보시는 걸 권합니다.

박인호(paerae)님이 2018-11-15 09:03에 작성한 댓글입니다.

인덱스의 첫번째 컬럼의 데이터 분포도가 젤 중요합니다. 
데이터 distinct 가 많을수록 성능이 좋습니다.
(분포도, 선택도, 클러스터링 팩터 의 개념를 알면 좋을겁니다.) 
해당 인덱스에서 ymd 로 조회되는게 10만건이고, 
agent  로 조회되는게 보통 10건 이내라면 
두번째가 좋죠. 
하지만 똑같은 컬럼인데 인덱스 순서를 바꾸어 2개 이상 만들었다는 것은 
보통 쿼리의 where 조건 분기가 다른 쿼리가 있을 때입니다. 
(SM 사이트 들어가서 기존의 인덱스 함부로 지우면 안됩니다.
빨개지는 상황판을 보게될 것입니다. ) 

lucky님이 2018-11-15 14:07에 작성한 댓글입니다.
이 댓글은 2018-11-15 14:11에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
41661dbms_jobs에서 interval이 다음날 1일에 도는 이유가 뭘까요?
trikepton
2018-12-03
3004
41660테이블조회결과를 한줄로변경? 문의.. [2]
배움이
2018-11-27
3453
41658누적의 차이를 구할방법 [2]
궁금이
2018-11-20
4993
41656인덱스 관련해서 질문 드립니다. [2]
권기혁
2018-11-14
3164
41655오라클 쿼리 질문있습니다 [1]
JKK
2018-11-14
3389
41654주차 구하는 방법 문의 [4]
이민우
2018-11-13
3628
41653문자 치환에 대해서 질문 드립니다. [6]
그림자가면
2018-11-09
3511
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.025초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다