정리

데이터베이스 실행 순서

디벨로프로 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(마지막에 실행됨)

 

 

'정리' 카테고리의 다른 글

추상클래스와 인터페이스의 차이점  (0) 2020.02.25
그룹별로 데이터 출력하기(groupby, PARTITION BY)  (0) 2020.02.25
(flutter) 테마지정  (0) 2020.02.20
(플러터) 실로폰  (0) 2020.02.20
(flutter) MagicBall 만들기  (0) 2020.02.19