database buffer cache에 대해 0 2 616

by 열심열심 [2018.01.03 08:31:53]


sql 쿼리 수행결과를 빠르게 반환하기 위해 최근 수행된 쿼리 데이터베이스 버퍼 캐시에 저장되는 것으로 알고 있습니다. 

그러나 단순 where절 같은 경우 첫 수행결과와 2번째 결과 속도차이가 명확히 나지만 

통계정보 같은경우 몇번을 수행해도 똑같은 수행시간 값이 나옵니다. 

11g에 AMM이용해서 SGA영역을 확장하면 DB속도가 전반적으로 향상될 것이라고 생각했는데

잘못된 생각인가요? 

 

by 마농 [2018.01.03 09:17:41]

쿼리 결과가 올라오는게 아니라 테이블 데이터(블럭 단위)가 올라옵니다.
즉 데이터를 디스크에서 읽느냐? 메모리에서 읽느냐 차이죠.
데이터 가공은 읽은 데이터를 바탕으로 다시 수행 하겠죠.


by 열심열심 [2018.01.03 11:16:56]

데이터 가공을 메모리에서 한단 말이죠? 만약에 디스크에서 데이터버퍼캐시에 올려서 가공을 한다면

시간이 더 소요 된다는 말이겠네요. (테이블 데이터가 블록 단위로 올라온다면 한테이블이 매우 크다면 그 테이블도 모두 올라오나요?)

결국 데이터버퍼캐시영역이 넓으면 많은 테이블데이터가 올라와 있어서 쿼리 수행속도는 전반적으로 빨라지는게 맞겠네요

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입