본문 바로가기
DB/RDB

FK 사용하지 않는 이유( 단점 ? )

by doriver 2025. 5. 1.

 

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