SQL> Index 무조건 좋은가
full scan 방식에 비해 index를 설정해놓으면 query 실행이 빨라진다. where clause, order by clause에서 주로 쓰는 부분을 index 걸어놓으면 query가 효율적이다.
- 어떻게 빨라지나: index file을 새로 생성하게 된다. 그 index file은 index와 inindex를 건 column에 대한 정보가 있는데, index를 타면 data scan을 할 때 시작 지점이 정해져서 거기서부터 scan이 가능하다.
- 단점: select는 시간이 빨라질지 몰라도, insert나 update등은 속도가 느려진다. 왜냐면 데이터를 만들어줄 때 index에도 업데이트해야 하기 때문에. file이 하나 더 생성되니까 전체 data size도 늘어난다.
- index 확인: 시스템 함수는
- SP_HELPINDEX [table이름]
- index를 만든다고 무조건 빨라지는게 아니다.
- index 손익분기점: 전체data양의 10~15%만 스캔하는 경우에 index를 타는게 효율적이다. 그 이상은 full scan이 효율적이다.
댓글남기기