1년간 각 사용자의 마지막 접속일을 구하고 싶습니다만,
총 데이터 건수가 10억건이 넘어가기 때문에 단순히 group by로 1년을 걸 수 없는 상황입니다.
로그 테이블의 파티션이 각 날짜별로 나눠져있어 (파티션_20190930 식)
마지막 접속일을 관리하는 A라는 테이블 생성 후
1. n일자의 파티션을 A 테이블에 넣고
2. n-1일자와 A테이블과 접속일 비교, A에 있으면 통과, 없으면 n-1일자의 데이터 A에 insert
3. n-2일자와 A테이블과 접속일 비교, A에 있으면 통과, 없으면 n-2일자의 데이터 A에 insert
4. n-3일자와 A테이블과 접속일 비교, A에 있으면 통과, 없으면 n-3일자의 데이터 A에 insert
5. ... 1년치 순차적으로 실행
이런 식으로 프로시저를 생성하고 싶습니다.
재귀함수처럼 생성하는 방법 있을까요?
없다면 어떻게 해결해야 할까요? |