DB ++

Growing_HJ·2024년 6월 30일

일기장

목록 보기
46/51

SQL의 동작 원리
1.SQL 클라이언트가 select 문을 DB의 서버로 문자열을 전송한다
2.DB 서버 프로세스가 메모리 (데이터 캐시, 버퍼 캐시)에 데이터가 있는지 확인한다.
3.캐시된 데이터가 없으면, 디스크에서 직접 읽어와서 메모리에 캐싱한다.
4.결과를 반환한다.

비용(cost) 관련

단순 예시: 1,000 만건의 데이터가 있는 table A 와 100 만건의 데이터가 있는
       table B가 있고, table A 에 value 칼럼에 값은 99% 가 1로 저장되어 있는 상태
       SELECT * from A
       inner join B
       on A.id = B.id
       where A.value = 1 and B.value = 1;

case1) table A -> table B (cost 가 높다)

  • 최악의 경우: 1000만 번의 디스크 I/O가 발생할 수 있음.
    case2) table B -> table A (cost 가 낮다)
  • B.value = 1 인 데이터에 대한 I/O 만 발생할 수 있음.

0개의 댓글