Notice
Recent Posts
Recent Comments
Link
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

DBDBDEEP

[친절한 SQL] 1.3.5 논리적 I/O vs 물리적 I/O 본문

친절한 SQL 튜닝

[친절한 SQL] 1.3.5 논리적 I/O vs 물리적 I/O

Kihwane 2026. 5. 11. 10:09

논리적 I/O
SQL 처리하는 과정에 발생한 블록 I/O.

- 일반적으로 메모리상의 버퍼 캐시를 경유하므로 메모리 I/O 논리적 I/O라고 생각해도 무방함.

- 논리적 I/O 메모리 I/O Direct Path I/O 더한 개념
* Direct Path I/O : 메모리를 경유하지 않고 바로 DISK Read 하는 I/O

 

물리적 I/O

- DB 버퍼캐시에서 블록을 찾지 못해 디스크에서 읽은 블록 I/O 물리적 I/O.

 

BCHR

BCHR = ( 캐시에서 곧바로 찾은 블록 수 / 총 읽은 블록 수 ) X 100

= ( 논리적 I/0 - 물리적 I/0) / 논리적 I/0) X100

= ( 1 - 물리적 I/0) / 논리적 I/0) ) X 100

 

 

논리적 I/O 안에는 물리적 I/O 값도 포함되어 있다.

, 논리적 I/O 줄임으로써 물리적 I/O 줄이는 것이 SQL 튜닝

 

 

 

QUERY / CURRENT : 버퍼캐시에서 읽은 .

DISK : 디스크에서 읽은 (그러나 버퍼캐시에 올린다음 버퍼캐시의  것을 읽는 다는 것을 인지하자.)

 

* 참고사항

SELECT문은 Consistent 모드로 블록을 읽는다.
DML문은 Consistent 모드로 블록을 읽고
Current 모드 로 블록을 다시 읽어서 갱신

 

( 1 - (601,458 / (1,315,677 + 12,367) ) ) * 100