안녕하세요. 데이터베이스 ERD를 만드면서 여기저기서 자료 찾아보고 있는 중인데, 많은 대기업에서는 fk를 성능 상 이슈로 인해 사용하지 않는 경우가 있다고 하더라고요. 그런데 구글에 검색을 해보면 누구는 fk를 사용하는게 성능이 좋다고 말하고, 누구는 아니라고 하는데 누구 말이 맞는건가요?
저의 생각으로는 fk를 사용하지 않으면 데이터 정합성 유지도 힘들 것 같고, 이 경우에는 관계형 데이터베이스가 아니라 비관계형 데이터베이스를 사용해야 한다고 생각하는데 ...
어떤 의견이 맞는지에 대한 정확한 자료를 찾기 힘드네요 ㅠㅠ
저는 아래의 경우를 봤습니다
- DB모델 및 개발DB 에서는 FK 필수
- 운영DB 가 개발DB 와 동일한 구조, 프로그램도 개발에서 검증된 프로그램을 소스 수정 없이 배포하는 경우, 성능 지연이 발생되는 특정 Table 에서는 FK 제거
멤버에게만 공개된 게시글 이라고 하네요..
가입해 두시면 볼만한 정보 많습니다. ^^
- ERD에 FK 없으면 상관관계를 표현할수도 없습니다. RDB 의 특성이 사라지죠.
- FK 생성하면 성능이 10~15% 떨어진다고 책에서 본적있습니다.
- 규모가 작은곳이면 할만한데 1000개씩 되는 테이블이 있으면요 >> 예를 들면 공통코드 사용컬럼은 전부 FK 걸어주실건가요?
- 포동푸우 말씀대로 개발/테스트. DB에서 테스트하면 운영에서 문제가 많이 없겠죠
윗 분들 전부 댓글 감사합니다. 마농님이 올려주신 카페는 열심히 활동해봐야 겠네요.
넵 ㅎㅎㅎ
활동은 구루비에서 해주세요. ㅎㅎ