외래키의 필요성
본문
고객 테이블
상품 테이블
주문 테이블이 있습니다.
주문 테이블에는 당연히 고객과 상품 테이블의 값을 참조합니다.
그런데 주문 테이블의 고객id와 상품id에 외래키를 적용하지 않는 경우 문제가 발생하는 경우가 있나요?
아니면 적용할 때보다 퍼포먼스가 떨어지나요?
단, 고객과 상품 테이블의 레코드를 지우는 일이 발생하지 않는다면 말입니다.
궁금해서 여쭙습니다.
답변 2
검색 속도가 느릴겁니다.
가능하면 테이블간 연결되는 필드가 있으면 외래키를 잡아주는게 좋습니다.
외래키의 필요성은 데이터 정합성에 있습니다.
오히려 적용함으로써 실제 운영시 데이터 쓰기 부분에서 퍼포먼스는 떨어질수 있습니다.
그만큼 추가적으로 체크하는 일을 더 해야 하기 때문인데
하지만 그런 실을 취하고 데이터 정합성이라는 득을 얻습니다.
row 를 지우는 행위는 별 문제가 안될것 같고
입력/수정 시 참조될수 없는 값이 들어갈 경우도 생각해보시기 바랍니다.
답변을 작성하시기 전에 로그인 해주세요.