반응형
1) Index
검색기능을 최적화하기 위해 사용
빠른 검색을 위해 사용
2) Index 생성
CREATE [UNIQUE] INDEX 인덱스명
ON 테이블명(col1[, col2,...]);
UNIQUE:
중복제외(unique index)
key col에 중복데이터가 없음
성능이 가장 좋음
중복값을 저장할 가능성이 있는 col엔 사용금지
3)Index적용 구분하기
INDEX 사용 권장 | INDEX 사용 권장하지 않음 |
테이블에 데이터가 많음 | 테이블에 데이터가 적음 |
컬럼값의 범위가 넓음 | 테이블에 DML작업이 잦음 |
WHERE or JOIN에 사용되는 컬럼 | WHERE에 잘 사용하지 않는 컬럼 |
검색 결과가 전체 데이터의 2~4% | 검색 결과가 전체 데이터의 10~ 15% 이상 |
NULL이 포함된 행이 많음 | INDEX 컬럼이 함수 or NOT연산자와 함께 사용 |
DML작업은 index를 함께 변경하기에 작업 속도가 느려질 수 있다.
검색 결과가 전체 데이터의 15%를 넘어가면 완전탐색이 더 빠르다
반응형
'데이터분석 > SQL' 카테고리의 다른 글
함수& 연산자 (0) | 2020.09.03 |
---|---|
DELETE, DROP, TRUNCATE (0) | 2020.09.03 |
VIEW (0) | 2020.09.02 |
Join- ANSI Join (0) | 2020.09.02 |
Join- ORACLE Join (0) | 2020.09.02 |