by ccoma [Oracle 기초] oracle 대용량입력 [2017.09.11 12:07:17]
데이터의 지속적인 입력으로 인해 초기보다 성능이슈가 생겨서 문의드립니다.
<내용>
날짜와 ID값으로 파티셔닝이 된 테이블(A)이 있습니다.
해당 테이블(A)에 하루에 수천만건씩 새로운 데이터가 입력이 일어납니다.(실시간성)
A테이블은 하루에 한번씩 통계데이터 생성을 위해 새벽시간에 select 가 일어나고
A테이블에 몇달치 데이터가 적재되면서 새로운 날짜에 입력되는 데이터의 입력시간이
눈에 띄게 증가했습니다.
<질문>
1. 날짜별로 파티션이 나눠져있어서 새로운 날짜의 데이터를 입력할때도 성능이 동일해야 맞는건지?
2. 인덱스를 생성해야하니 파티션과 무관하게 A테이블에 데이터가 늘어날수록 입력시간이 길어지는게 맞는건지?
3. 입력시간이 길어지는게 맞다면 접근은 어떻게 하는지..?
3-1. A테이블을 최근1일 혹은 2일정도의 데이터만 놔두게 변경하고 과거데이터는 별도 테이블로 관리
3-2. A테이블을 ID 별(20개 내외)로 별도의 테이블로 변경 구성
4. 오라클의 한 테이블에 권고되는 최대 row 수가 있나요?(찾아봐도 안나오네요...;;)