테이블 내에서 group by의 최대값을 가진 row 검색하는 방법 + 속도체크
최근에 동일 테이블에서 그룹핑하여 최대값을 가진 row 데이터를 리스트에 출력하는 업무를 맡았다. 가장 효율적인 쿼리가 무엇일까 고민하다가 생각해낸 두가지 방법과 실제로 성능이 어떤지 테스트해보았다. 요구사항은 다음과 같다.(실제 업무와 비슷하게 예시로 들었다.) 특정 회원에게 가장 최근에 적용된 권한이 어떤 권한인지 검색한다. 그 권한은 시스템 관리자가 설정한 적용날짜에 따라 적용되고, 적용날짜는 하나의 테이블에 회원 일련번호와 적용날짜, 권한정보 하나의 로우로 로그데이터와 같이 insert만 해놓은 테이블(update 없음)에서 회원에게 설정된 가장 최근 적용날짜, 적용날짜가 같은 정보가 있다면 가장 최근에 등록된 데이터에서 권한정보를 가져와야한다. 비유를 들려하니 내가 봐도 뭔소리인지 모르겠고.....
SQL
2021. 9. 5. 20:18
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- join subquery
- on('seek')
- QueryDSL
- 의미
- 특징
- IN Clause
- API
- 로그인
- @subquery
- playsinline
- 관리자 도구
- SDK
- oauth
- Queue
- list
- @EventListener
- 자바
- Animation
- map
- jwplayer
- playbackRate
- login
- 예제
- beforeunload
- Multi IN Clause
- 원리
- 네트워크
- 장점
- @subselect
- SET
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함