ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 성능저하 요인 : DML
    DB 2012. 11. 27. 13:11
    • 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가 수행되면 해당 컬럼을 인덱스의 컬럼으로 구성하고 있는 인덱스만을 갱신

      • 디스크 I/O

    • DELETE의 성능저하 요인
      • 로그기록
      • 롤백을 위한 로그 기록
        ※ 로그기록, 롤백을 위한 로그기록 - 삭제되는 데이터의 이전 데이터와 이후 데이터를 모두 기록. 
        • 물론, 롤백을 위한 로그 기록시에는 이전 데이터의 값과 위치 정보만을 가짐
        • 이런 이유로, 동일한 양의 데이터를 DELETE하는 경우 INSERT에 비해 더 많은 디스크 I/O가 발생 --> 성능저하
      • 인덱스의 기록
      • 디스크 I/O


    댓글

Written by Skymaker.