by 아카시아향기 [SQL Query] 서브쿼리 ORDER BY 정렬 서브쿼리 ORDER BY [2013.11.15 09:37:17]
이번에 쿼리를 짜는데 속도차이가 많이 나서 비슷한 형식의 쿼리를 만들어보았습니다.
1번 쿼리
SELECT 게시판.주민번호
, 게시판.글번호
, 게시판.일자
, 게시판.직급
, 게시판.부서
FROM 게시판 , (SELECT 주민번호 , MAX(글번호)
FROM 게시판
WHERE 주민번호 = '1111111111111'
GROUP BY 주민번호, 일자, 집급, 부서
) 중복체크
WHERE 게시판.주민번호 = 중복체크.주민번호
AND 게시판.글번호 = 중복체크.글번호
ORDER BY 게시판.글번호, 게시판.부서
2번 쿼리
SELECT 게시판.주민번호
, 게시판.글번호
, 게시판.일자
, 게시판.직급
, 게시판.부서
FROM 게시판 , (SELECT 주민번호 , MAX(글번호)
FROM 게시판
WHERE 주민번호 = '1111111111111'
GROUP BY 주민번호, 일자, 집급, 부서
ORDER BY 글번호, 부서
) 중복체크
WHERE 게시판.주민번호 = 중복체크.주민번호
AND 게시판.글번호 = 중복체크.글번호
위와 같은 결과가 나왔고 건수가 많으면 속도가 현저히 떨어지는걸 볼수 있었습니다.
현재로서는 order by 위치에 따라서 속도차이가 나는데 1번 쿼리의 속도가 조회되는 건수가 많을수록 느립니다.
PK 는 주민번호 + 글번호 로 이루어져 있고
index는 주민번호 입니다.
1. 속도 차이가 나는 원인이 멀까요....
2. 공백에 따라서 위 두 쿼리의 정렬 순서의 차이가 나는데 왜 그런건가요?