이제 bulk_id 값을 선택해 루프를 돌며 emp_bulk 테이블의 retire_date 컬럼 값을 hire_date 컬럼 값으로 갱신하는 익명 블록을 만들자. bulk_id 값이 1부터 10,000까지므로 총 10,000번의 루프를 돌며 한 번에 108건씩 UPDATE가 진행될 것이다. 먼저 UPDATE를 수행을 빠르게 처리하도록 bulk_id 컬럼을 인덱스로 만들어 보자.
입력
CREATE INDEX emp_bulk_idx01 ON emp_bulk ( bulk_id );
결과
index EMP_BULK_IDX01이(가) 생성되었습니다.
emp_bulk 테이블에는 대량의 데이터가 들어가 있으므로 테이블 통계 정보도 만들어 놓자. 통계 정보를 생성하는 이유는 통계 정보가 있어야 오라클 옵티마이저(SQL문을 분석해 쿼리를 수행해 데이터를 가져오거나 처리하는 오라클 내부 엔진)가 SQL문을 좀더 효율적으로 실행할 수 있기 때문이다.
입력
EXECUTE DBMS_STATS.GATHER_TABLE_STATS( 'ORA_USER', 'EMP_BULK');
결과
익명 블록이 완료되었습니다.