파티셔닝 관련하여 여쭤봅니다. 0 2 2,183

by 몽쉘 [DB 기타] SQL 파티셔닝 [2023.02.09 17:47:11]


현재 하루에 수만개의 로그성 데이터 관련한 테이블이 있는데, 속도 개선 문제로 인하여 파티셔닝 작업을 하려 하고 있습니다.

5초마다 해당 데이터의 로우가 쌓이는데 PK로 SEQ라는 컬럼 있는데 로우가 생성 될때마다 1씩 증가 되는 형태 입니다,

FK로는 CREATED라는 컬럼이 있습니다.

궁금점 1. 파티셔닝 작업시에 로우 단위로 WHERE조건에 들어가는놈으로 파티셔닝 키로 지정 해야 된다고 들었는데 문제는 월별로 파티셔닝을 하고 싶은데 SEQ는 WHERE절에 들어가지 않고, CREATED컬럼만 조건이 들어갑니다.(중복 데이터 있음)

이런 경우는 어떻게 해야 될까요. 그냥 중복이 있어도 CREATED를 PK도 줘버려야 되는건지 

월별로 파티셔닝 작업을 하고 싶은데 파티셔닝 키를 어떻게 줘야 할지 ... 모르겠습니다.

 

궁금점 2. 파티셔닝 작업 이외에 다른 방법이 있다면 조언 부탁드립니다.

 

 

by 구경꾼 [2023.02.10 00:19:02]

CREATED 컬럼에 대한 추가 설명이 있어야 할 것 같네요.


by 우리집아찌 [2023.02.10 11:43:20]

일단 파티션 테이블은 PK 생성시 파티션 키가 포함되어야합니다.

파티션키가 CREATED 인지 DATE 타입인지 알아야할것 같네요.

그리고 파티션 테이블은 관리 문제로 만드는 경우가 더 많습니다.

월단위 로우가 얼마 안되보이는데 인덱스나 다른것으로 해결먼저 해보시는걸 추천합니다.

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입