로우 마이그레이션
로우 마이그레이션은
데이터 블록에서 수정이 발생 하였을 때
수정된 데이터를 해당 블록에 저장하지 못하고
다른 블록에 있는 빈 공간을 찾아 저장하는 방식이다.
이 | 순 | 신 |
최 | 민 | 식 |
거 | 북 | 선 |
-----------------------------------
이 | 순 | 신 |
강 | 강 | 술 |
래 |
"이순신"을 "강강술래"으로 UPDATE 하였을 때
행의 길이가 증가하면서 저장 공간이 부족해진다.
이때 원래 정보를 기존 블록에 남겨두고
실제 데이터는 다른 블록에 저장하게 되는데,
데이터 조회 시 기존 블록에서 주소를 먼저 읽고 다른 블록을 찾아야 하므로
성능이 감소될 수밖에 없어진다.
로우 체이닝
로우 체이닝이란,
행 길이가 길어서 데이터 블록 하나에 데이터를 모두 저장하지 않고,
두 개 이상의 블록에 걸쳐서 하나의 로우를 저장하는 형태이다.
O | O | O | O |
O | O | O | O |
O | O | O | O |
O | O | O | O |
입력할 데이터(16)
-----------------------------------
O | O | O |
O | O | O |
O | O | O |
블록A(9)
O | O | O |
O | O | O |
O |
블록B(7)
이는 로우 마이그레이션과 달리
애초에 저장 공간이 부족해서 발생한다.
예를 들어, 9K 데이터 블록에 16K 데이터가 들어가면,
9K + 7K로 나누어 저장하게 된다.
파티셔닝
파티셔닝은
한 테이블에 많은 데이터가 저장되면
테이블을 아무리 쪼개도 성능이 저하될 것이다.
그러므로 논리적으로는 하나의 테이블이지만,
물리적으로는 여러 개의 테이블로 분리된 형태로 만들어 준다.
'자격증 준비 > SQLD' 카테고리의 다른 글
[ SQLD ] DML(Data Manipulation Language) (0) | 2025.02.11 |
---|---|
[ SQLD ] DDL(Data Definition Language) (0) | 2025.02.11 |
[ SQLD ] 성능 데이터 모델링 (23) | 2024.02.14 |
[ SQLD ] 성능 데이터 모델링 - 정규화 (27) | 2024.02.07 |