1. 문제가 생겨 빠르게 직접DB에서 데이터를 처리 해야 되는 경우에
외래키로 인해서 처리가 늦어질 수도 있고, 큰 실수로 이어질수도 있다.
테이블의 관계상 데이터 생성, 수정에 순서가 필요
, 어쩔 수 없이 데이터(자식 테이블)를 삭제 하는 경우 CASCADE 옵션이 걸려 있다면 부모 테이블 데이터가 삭제가 되는 참사가 발생하기도 합니다.
2. DB설계를 초기에 잘 해놓았더라도, 시간이 지나면서 추가 개발과 설계 수정이 될 수 있다.
3. insert/update에 대한 성능 저하
외래키를 사용하게 되면 데이터 생성 및 수정시 항상 무결성 검사를 하게 된다. 예를 들어 자식 테이블에 데이터를 추가할 때 부모 테이블에 pk가 존재하는지를 확인하는 것이다. 이러한 무결성 검사의 선행은 insert/update에 대한 성능 저하를 일으킨다.
'DB > RDB' 카테고리의 다른 글
| MySQL, PostgreSQL 비교 (0) | 2025.05.10 |
|---|---|
| key와 index (0) | 2025.04.30 |
| 미니 쇼핑몰 ddl, 상품 주문까지 sql (0) | 2025.04.26 |
| sql Join 튜닝( 순서 , 방법 ) (0) | 2025.04.22 |
| index, 테이블 엑세스, 인덱스 손익분기점 (0) | 2025.04.22 |