본문 바로가기
반응형

Database32

패스트캠퍼스 SQL튜닝캠프 2일차 - 인덱스 향상 5. 테이블 Random Access 부하 인덱스를 쓰는 이유는 RowId를 찾기 위함 RowId는 HDD에 있음 RowId를 해시 함수로 돌려 Clustering Factor 테이블 블럭들이 인덱스 정렬 순으로 얼마나 잘 정렬되어있는지에 대한 지표 6. 테이블 Random 액세스 최소화 튜닝 인덱스가 많을 때의 단점 Command(명령 : 등록/수정/삭제)시 인덱스 변경이 필요하여 시간이 많이 소모 인덱스 저장 장소가 필요하여 저장소 용량이 많이 필요하게 됨 옵티마이저가 인덱스를 보고 실행계획을 작성하는데, 이때 인덱스가 많으면 많을수록 옵티마이저는 잘못된 실행계획을 생성할 확률이 높다. 인덱스는 3개 이하를 권장한다. 인덱스 컬럼 추가로 해결하기 문제상황) 인덱스 : deptno + job selec.. 2017. 7. 30.
패스트캠퍼스 SQL튜닝캠프 1일차 - 인덱스 구조와 스캔 방식 1주차1. 인덱스의 구조인덱스 == 정렬인덱스는 크게 해시 인덱스와 B+Tree 인덱스가 있습니다. 해시 인덱스는 키 값을 해시값으로 변경후, 해시값+값의 구조를 얘기합니다. 해시계산의 경우 데이터 양에 의존하지 않기 때문에 데이터 양이 늘어도 계산량(O(1))은 변경되지 않는다는 장점이 있습니다. 하지만 아래와 같은 경우에 전혀 사용할 수 없습니다.가격이 10,000원 이하의 선물을 찾고 싶다.제목이 "Final"로 시작하는 게임 리스트를 찾고 싶다.최신순으로 정렬된 값을 찾고 싶다.해시 인덱스의 이런 단점을 해결하고자 B+Tree 인덱스 구조가 있습니다.B+Tree 인덱스(출처 : 구루비 위키)Root Node와 Branch Node에 표기된 lmc는 Left Most Child를 뜻합니다. (Lea.. 2017. 7. 16.

728x90
반응형