As if nothing had happened...

뒤로 검색

DB 01

2010/04/13 23:37

join의 유리한점.
block 단위의 io에서 유리하다.
ex) 1만 개의 row를 select 할 경우.
1. 정규화 되지 않은 통 테이블
code status  name   date
4byte, 4byte, 20byte, 10byte : 38 byte block size
38byte * 10000 = 380k

2. 간단한 정규화가 된 테이블 1, 2
code name
4byte, 20byte : 24 byte block size

code status date
4byte, 4byte, 10byte : 18byte block size

1은 총 10개. 2에서 1만 row select
18byte * 10000 + 24byte * 10 : 180.24kbyte

join 쿼리 작성시 주의 할 점.
먼저 drive in이 되는 테이블의 data 가 먼저 상수화 되고 치환이 되기 때문에
data범위를 줄일 수 있는 쪽을 먼저 drive in 하게 한다.

outer join을 하게 된다면 무조건 outer join이 걸리지 않은 테이블 부터 drive in 된다.
따라서 위에 언급된 data범위를 줄일 수 있는 쪽이 먼저 drive in되지 않을 수 있다는 점을 명심한다.

Tags

DB, join
이 페이지는 Textcube 1.9.1 로 구동됩니다 데스크탑 화면