개발 Q&A

제목 외래키 설정...
글쓴이 ehnuje 작성시각 2012/07/16 10:20:51
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 21998   RSS
 언제 하시나요?
퍼포먼스 때문에 많이 사용하면 좋지 않다고 하는데
어느정도까지 하는게 좋은지 궁금하네요!
 다음글 jquerymobile 1.1.1 쓰시는분? (1)
 이전글 eclipse 사용중에

댓글

인스카 / 2012/07/16 10:24:33 / 추천 0
인덱스 자체가 성능에 영향을 줄 겁니다..
외래키가 반드시 필요하다고 생각이 되는 상황에서는 사용을 해야겠죠..?

외래키를 반드시 설정할 필요가 있는 경우가 아니면, 즉 참조하는 테이블의 열이 삭제되어도 무방할 때는 외래키를 사용하지 않는 것이..
변종원(웅파) / 2012/07/16 10:32:15 / 추천 0
a 테이블의 1번 row와 b 테이블의 2번 row 가 동시에 삭제되어야 할 경우에 사용합니다.

2개의 row는 연관이 되어 있어서 a 테이블의 1번 row를 삭제하려면 b 테이블의 2번 row를 먼저
삭제해야 지울 수 있는 경우가 있습니다.

제 경우에는 그럴때 이외에는.... 특별히 일부러 사용하지 않습니다.
criuce / 2012/07/16 10:47:38 / 추천 0
보통은 인덱스키만을 활용하지만,

웅파님이 말씀하신 것 처럼 참조하는 테이블의 행이 있을때 그 키를 삭제해선 안되는 경우, 아니면 같이 삭제해야 하는 경우 사용합니다.

예를들면 회원 테이블과 회원 프로필 테이블이 있을경우 두 테이블을 외래키로 관리하면 편합니다~
ehnuje / 2012/07/16 17:31:20 / 추천 0
인스카, 웅파// 감사합니다.
criuce // 안 그래도 회원 테이블과 프로필 테이블을 분리해 놓았다가 쓸데없는 join이 많이 일어날 것 같아서 아예 합쳐버렸거든요. 분리해서 사용하시는 이유는 별도의 정보를 많이 사용하셔서 그런가요?
milosz / 2012/07/17 07:29:20 / 추천 0
ehnuje  // 간단한 예로는... 도서관 회원과 대여 도서 목록을 생각해볼 수 있겠네요.
criuce / 2012/07/17 10:14:16 / 추천 0
 ehnuje // 그래서 전 db 접근을 최소화 하기 위해 cache를 많이 사용해요. 따로 분리하는 이유는 그냥 인증 라이브러리에서 그렇게 제공하니까?^^;; 입니다.