ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 효율적인 쿼리 검색!!!!!
    SQL 2020. 2. 20. 20:27

    효율적인 쿼리 검색!!!!!

     

     - 더미 데이터 생성

    --> 현재 날짜에서 -30, + 30 사이의 값을 랜덤하게 더하고 빼서 백만개의 row생성

     

        이중에서 2월1일부터 29일까지 데이터만 중복되지 않게 뽑아라

    - 처음에 나는 WHERE절의 dt 테이블을 가공해서 사용했는데 그러면 인덱스를 사용하지 못하기 때문에

     

       효율이 굉장히 떨어짐

     

      * 칠거지악에 위반 ! 왼쪽 테이블을 가공하지 말아라!!

     

     - BETWEEN을 사용해서 1일부터 29일 23시 59분 59초 사이의 값을 검색, DISTINCT로 중복되지 않게 검색

     

     

    -- 더 효율적으로 검색하기!!

    우리가 구해야하는 데이터 ROW수가 총 29행 (1일부터 29)인 것을 알고 있기 때문에

     

     FROM절의 IN-LINE VIEW에  2월1일부터 레벨을 29까지 증가시키면서 더해주고

     

     WHERE절의 조건에 비교하는 값이 존재하면 그 값의 검색을 더이상 하지 않는 EXISTS를 사용

     

     그리고 그 옆의 IN-LINE VIEW에 조건값을 구하는 쿼리를 넣어주면 훠어어얼씬 빠르게 접근가능

    'SQL' 카테고리의 다른 글

    반정규화  (0) 2020.03.02
    SQL문 처리과정  (0) 2020.02.24
    계층 쿼리 누적 합 구하기  (1) 2020.02.20
    계층형 쿼리 (Hierarchiacal Query)  (0) 2020.02.18
    달력 쿼리  (0) 2020.02.17

    댓글

Designed by Tistory.