-
효율적인 쿼리 검색!!!!!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