테이블 인덱스 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
4번째 줄: | 4번째 줄: | ||
*그 이상의 데이터를 처리할 땐 성능상 오히려 불이익이 있을 수 있음 | *그 이상의 데이터를 처리할 땐 성능상 오히려 불이익이 있을 수 있음 | ||
==인덱스 적용== | == 인덱스 적용 == | ||
===인덱스를 사용하는 경우=== | ===인덱스를 사용하는 경우=== | ||
14번째 줄: | 14번째 줄: | ||
*NOT BETWEEN | *NOT BETWEEN | ||
===인덱스가 사용되지 않는 경우=== | === 인덱스가 사용되지 않는 경우 === | ||
*NOT 연산자 사용 | * NOT 연산자 사용 | ||
*IS NULL, IS NOT NULL | * IS NULL, IS NOT NULL | ||
*[[데이터베이스 옵티마이저|옵티마이저]] 취사 선택 | * [[데이터베이스 옵티마이저|옵티마이저]] 취사 선택 | ||
*인덱스 | * Suppressing: 인덱스 칼럼에 변경을 가하는 경우 | ||
**''' | ** '''External Suppressing''': 코딩상 적용된 서프레싱 | ||
***WHERE SUBSTR(col, 1, 1) = 'C' -- SUBSTR 대신 LIKE를 사용하면 인덱스 사용 가능 | *** WHERE SUBSTR(col, 1, 1) = 'C' -- SUBSTR 대신 LIKE를 사용하면 인덱스 사용 가능 | ||
***WHERE col1||col2 = 'COL1COL2' | *** WHERE col1||col2 = 'COL1COL2' | ||
***WHERE TO_CHAR(date, 'YYYYMMDD') -- DATE 타입 칼럼인 경우 TO_DATE 등으로 통일 | *** WHERE TO_CHAR(date, 'YYYYMMDD') -- DATE 타입 칼럼인 경우 TO_DATE 등으로 통일 | ||
***WHERE num * 12 > 100000 -- num > 100000/12 로 사용하면 인덱스 사용 가능 | *** WHERE num * 12 > 100000 -- num > 100000/12 로 사용하면 인덱스 사용 가능 | ||
**''' | ** '''Internal Suppressing''': 데이터베이스 내부에서 이루어지는 서프레싱 | ||
***WHERE num1 > num2 + '100' -- 타입 혼합 | *** WHERE num1 > num2 + '100' -- 타입 혼합 | ||
***WHERE regdate = '20210809' | *** WHERE regdate = '20210809' | ||
===인덱스 머지와 결합인덱스=== | ===인덱스 머지와 결합인덱스=== | ||
64번째 줄: | 64번째 줄: | ||
#기존 프로그램 변경 | #기존 프로그램 변경 | ||
==같이 보기== | == 같이 보기 == | ||
*[[데이터베이스 옵티마이저]] | * [[데이터베이스 옵티마이저]] | ||
*[[데이터베이스 인덱스]] | * [[데이터베이스 인덱스]] |