-
데이터베이스 실행 순서데이터베이스/오라클 2020. 2. 24. 14:50반응형
데이터베이스 실행 과정
Client
-> 쿼리
sql 리스너
1) sql 파서
2) sql 전처리
...
...
...
3) sql 실행계획(옵티마이저)
1) ...
2) ...
3) ...
4) ...
옵티마이저가 제대로 실행되지 않는 경우
ex ) 코로나 확진자가 분포되어 있는 상황
코로나 확진자의 지역에 대한 인덱싱 필요
1) 부산
2) 서울
3) 부산
4) ...
5) ...
부산의 데이터를 가져오고 싶을 때 인덱싱이 안되어있으면 전체 데이터를 확인해야 함
데이터가 10개 이하라면?
데이터의 군집화 (클러스터링)
데이터의 군집화가 잘 되어있다면 자료를 찾기가 편하다.
군집화가 안되어있다면 인덱싱된 데이터를 찾는 방법을 사용한다.
-> 데이터 최초 설계의 중요성 (데이터 베이스가 좋은 실행계획을 짤 수 있도록)
데이터 베이스 실행 순서
1) FROM
buffer or memory 에 데이터가 있는지 확인
2) WHERE (FROM 과 함께 움직인다.)
- where 절에 사용하는 이름이 유니크일 경우에는 인덱스처리를 하며 데이터를 찾는다.
- 중복될수 있는 이름을 where로 찾으려 한다면 전체 데이터를 풀스캔 하게 된다.
3) SELECT
4) ORDER BY(마지막에 실행됨)
'데이터베이스 > 오라클' 카테고리의 다른 글
[데이터베이스 기본]이너 조인(INNER JOIN) 아우터 조인(OUTER JOIN) (0) 2020.03.06 데이터베이스 계층형쿼리(LEVEL) (0) 2020.03.02 롤업 (0) 2020.02.27 데이터베이스 피벗 사용해보기 (0) 2020.02.26 그룹별로 데이터 출력하기(groupby, PARTITION BY) (0) 2020.02.25