Data Analysis/Database (SQL)

[SQL 활용] 13. 인덱스와 뷰

빠모스 2020. 5. 10. 00:18
반응형

인덱스

내가 만약 키가 100인 아이를 찾고싶으면 처음 200부터 비교해갈 수 있지만, 이럴 경우 성능이 떨어짐. 우리가 키값에 따라 색인을 만들어놓으면 순서적으로 접근하는게 아니라 랜덤하게 직접적으로 임의의 순서를 따라 접근할 수 있기 때문에 보다 빠르게 데이터를 추출할 수 있다.

ex) 사원번호에 인덱스를 부여할경우 고유 인덱스가 됨. 동일한 사원번호를 가진 사원은 존재하지 않으니까.

부서 번호에 인덱스를 부여할경우 비고유 인덱스가 됨. 여러 사원이 한 부서 번호를 공유하니까.

기본키에 대해서는 자동으로 dbms가 고유색인을 만든다. 성능 향상을 위해.

서로 다른 부서여도 위치는 같을 수 있으니 비고유 인덱스를 생성해보자.

부서 번호는 오름차순으로, 같은 부서일경우 급여는 내림차순으로 정렬한 후 결합 인덱스 생성

emp_name_idx를 사용하여 결과를 찾아내는것을 확인.

 

뷰를 통해 데이터를 고치거나 삽입하면 뷰를 만든 기본 테이블에 적용된다.

복합뷰 : 조인을 이용함.

사원쪽의 부서 번호와 부서테이블의 부서 번호가 같은걸 모두 다 뽑지말고, 사원쪽에서 먼저 부서별 평균이 얼만지 구하고, 그 구한거랑 부서 테이블의 부서명을 매치시킴. 

반응형