-
- INSERT 성능저하 요인
- 로그기록
- LOG AHEAD 기법 - 작업 수행전 어떤 작업을 수행하는지에 대한 로그 기록
- HWM BUMP UP
- HWM BUMP UP - 오라클 데이터베이스의 내부적인 요소
- 인덱스의 개수
- 인덱스는 정해진 위치가 존재하게 되므로 정해진 위치를 찾는 프로세스가 수행
- 해당 테이블에 인덱스가 10개라면 이와같이 저장되는 데이터에 대해 인덱스에서의 위치를 찾기 위해 정해진 위취를 찾는 프로세스가 10번 수행
- 인덱스의 개수가 많다면 INSERT의 성능이 저하
- 롤백을 위한 로그기록
- 해당 작업을 수행한 후 작업을 취소하는 경우 이전 데이터로 복구하기 위해 이전 데이터의 값을 저장하는 것을 의미
- 작업 또한 실제 데이터를 저장하는 작업과의 별개로 수행
- 디스크 I/O
- UPDATE의 성능저하 요인
- 로그 기록
- 롤백을 위한 로그 기록
- UPDATE의 경우, 이전 데이터의 값이 존재하기 때문에 이전 데이터를 로그에 기록하게 된다.
- 따라서 로그기록 및 롤백을 위한 로그 기록에서 UPDATE가 INSERT에 비해 더 많은 데이터를 기록해야 함
- --> 디스크 I/O의 증가로 UPDATE의 성능은 INSERT의 성능보다 더욱 저하되게 된다.
- UPDATE 컬럼이 사용된 인덱스의 개수
- 해당 테이블에 존재하는 모든 인덱스는 아니며 UPDATE가 수행되는 컬럼이 사용된 인덱스의 개수를 의미
- UPDATE가 수행되면 해당 컬럼을 인덱스의 컬럼으로 구성하고 있는 인덱스만을 갱신
- DELETE의 성능저하 요인
- 로그기록
- 롤백을 위한 로그 기록
※ 로그기록, 롤백을 위한 로그기록 - 삭제되는 데이터의 이전 데이터와 이후 데이터를 모두 기록.
- 물론, 롤백을 위한 로그 기록시에는 이전 데이터의 값과 위치 정보만을 가짐
- 이런 이유로, 동일한 양의 데이터를 DELETE하는 경우 INSERT에 비해 더 많은 디스크 I/O가 발생 --> 성능저하