안녕하세요.
판매완료 제품을 판매일자 기준 6개월 마단 한번씩 효율적으로 삭제하기 위한 테이블구조 관련 문의입니다.
제품관리 테이블('gitem_mgnt')이 있으며, 제품번호('gitem_no')와 판매완료 일자('sell_dt') 컬럼으로 이루어져 있습니다. 판매완료 일자('sell_dt') 컬럼은 처음 입고시에는 nul l상태로 유지되다가, 제품이 판매되면, 비로소 판매완료 일자(예: 2011.12.16)가 입력됩니다.
2006년부터 5년간 관리하다 보니, 데이터수가 약 8천만건으로 크게 늘어났습니다. 관리데이터를 줄이기 위해, 제품이 판매완료된 날로부터 6개월이 지나면, 삭제되도록 스크립트를 만들었는데, delete 대상 데이터가 많아서 그런지, 계속 오류가 나더군요.
(6개월에 한번씩 해당 데이터 'delete')
그래서, 제품관리 테이블을 판매완료 일자(sell_dt) 기준으로 6개월 단위로 파티셔닝하려고 합니다.
(2006.06월, 2006.12월 ... 2011.6월, 2011.12월)
[질문1]
기존 데이터(2006년 이후 8천만건)를 소급하여 판매완료 일자(sell_dt) 기준으로 6개월 단위로 테이블 파티셔닝할 수 있는지요(재구성)?
[질문2]
gitem_mgnt테이블처럼, 처음에는 파티셔닝 기준컬럼(판매일자/sell_dt)이 null 값 이었다가,
판매되는 시점에 비로소 값이 입력될때 기존 데이터의 위치가 해당 파티션 테이블로 이관되는 것인가요?(이때, OLTP상에서 판매완료 일자'sell-dt'가 건건이 입력된다면 I/O 는 크게 염려않해도 되나요?)
------------------------------
아니면, 이런 경우 효과적으로 판매시점 기준 6월마다 무리없이 삭제하려면 어떤 방법을 써야 하나요?
|