완전히 이해된 개념은 아니지만 이곳에 정리하고 또 채워나가보도록 하겠다.
아래 영상을 보고 이해를 했고 PGA(Program Global Area)에 대한 정보를 추가하였다.
https://www.youtube.com/watch?v=SVD5ldwVYpo
https://lhoris.tistory.com/129
PGA
예시
Table A = IDOL_GROUP
Table B = IDOL_MEMBER
Relationship(Column) : GORUP_NAME
Nested Loop Join
IDOL_GROUP = Outer table
IDOL_Member = Inner table
IDOL_GROUP에서 소녀시대라는 Row하는 선택하고 InnerTable에서 소녀시대 맴버를 찾아서 쭈루록 등록
일종의 For 문을 돌리는 형태
그결과 Index 구성 전략이 필요해짐 왜냐하면 Index가 없으면 계속 Inner Table Full scanning을 할 꺼니까
Outer Table은 보통 소량의 데이터가 있는 곳을 선정
1 :N관계에서 1을 담당하는 Table.
Sort_Merge Join
Nested Loop에 적절한 Index가 없어서 NL이 비효율적이라고 판단될 때
범위로 join을 할 때
PGA에서 이뤄지는 작업이기 때문에 성능이 좋음(하드웨어 측면을 이야기하는 것 같음)
Hashed Join
Table B = IDOL_MEMBER 에 데이터가 너무 많을 때, Table A = IDOL_GROUP을 선행테이블(Build Input)테이블로 사용하여 작업 진행.
PGA Hashed Join 영역을 이용하여 IDOL_GROUP으로 IDOL_Member를 찾는 시스템
수정사항 있으면 댓글 달아주세요~
'나의 FE피봇이야기 > Dev_Knowledge' 카테고리의 다른 글
[DMBS] 데이터 모델링 관점 (0) | 2023.03.01 |
---|---|
[DBMS] 정규화 (0) | 2023.02.26 |
[DMBS]식별자 비식별자, 외래키 (0) | 2023.02.25 |
[DBMS]ERD 모델을 Relational Model 변환 규칙 (0) | 2023.02.22 |
[DBMS]Normalization -> 3rd Normal Form From 국민대 (0) | 2023.02.22 |