이유를 알 필요 없다는게 진짜 알 필요 없는게 아니고, 고집부리지말고 받아들이면 된다는 의미였음ㅋㅋ
학습 초기에는 원리주의자가 되기 쉽거든
김대기(waitkim)2024-09-30 14:37
개패고싶네
백갤러 3(175.113)2024-09-30 14:26
외래키를 안쓰면 RDB를 쓰는 이유가...;;;? 특수한 경우가 아닌 이상 설계 단계에서 외래키를 가급적 쓰시고 운영 환경에선 성능을 위해 빼고 쓰는 선택을 하면되지
삼생성명(alpines)2024-09-30 14:32
답글
적당히 알아들어라..
김대기(waitkim)2024-09-30 14:37
답글
주딱아 여기 네이버카페 링크 올려도되냐
외래키 관한 좋은 문서있는데 - dc App
30세전에특급DBA(118.235)2024-09-30 14:42
답글
*글로 - dc App
30세전에특급DBA(118.235)2024-09-30 14:42
답글
아 가입 필요했었네 - dc App
30세전에특급DBA(118.235)2024-09-30 14:47
답글
상관없지
김대기(waitkim)2024-09-30 14:52
한 트랜잭션이 락을 걸었을때 연관된 테이블로 락이 전파되어 동시성 문제와 데드락이 발생할 수 있고, InnoDB 엔진에서 외래키에 따른 인덱싱이 별도로 필요하기 때문에 오버헤드가 발생하는게 인덱스의 문제점이라고 알려져 있는데
외래키를 사용하지 않았을 때 데이터 정합성에서 문제가 발생할 수 있고 ON UPDATE CASCADE나 ON DELETE CASCADE로 해결 가능한 부분을 여러 테이블에 걸친 쿼리를 별도로 작성해야 하고, 인덱싱으로 인한 오버헤드는 CUD 작업에서 발생하나 읽기 작업에서는 성능 개선이 되기때문에 서비스 형태에 따라 오버헤드를 상쇄할 수 있고, 최근 CPU의 성능으로 미루어보아 오버헤드에 따른 지연이 크지 않거나 만약 발생할 경우 분산 데이터베이스를 통해 구조적으로 해결이 가능하다
이정도는 느껴봐라
그정도 답변을 못할거면 외래키 걸고 질문을 안받는게 낫다
이것만큼은 이유를 알 필요 없이 그냥 하라해서... - dc App
확장하기 유연한 구조 + 개발하기 편해짐 + 락으로 인한 성능 저하 방지
나라면 FK 없이 사용은 하는데 서류, 면접에서 먼저 이야기안할듯
답변 감사감사 - dc App
이유를 알 필요 없다는게 진짜 알 필요 없는게 아니고, 고집부리지말고 받아들이면 된다는 의미였음ㅋㅋ 학습 초기에는 원리주의자가 되기 쉽거든
개패고싶네
외래키를 안쓰면 RDB를 쓰는 이유가...;;;? 특수한 경우가 아닌 이상 설계 단계에서 외래키를 가급적 쓰시고 운영 환경에선 성능을 위해 빼고 쓰는 선택을 하면되지
적당히 알아들어라..
주딱아 여기 네이버카페 링크 올려도되냐 외래키 관한 좋은 문서있는데 - dc App
*글로 - dc App
아 가입 필요했었네 - dc App
상관없지
한 트랜잭션이 락을 걸었을때 연관된 테이블로 락이 전파되어 동시성 문제와 데드락이 발생할 수 있고, InnoDB 엔진에서 외래키에 따른 인덱싱이 별도로 필요하기 때문에 오버헤드가 발생하는게 인덱스의 문제점이라고 알려져 있는데 외래키를 사용하지 않았을 때 데이터 정합성에서 문제가 발생할 수 있고 ON UPDATE CASCADE나 ON DELETE CASCADE로 해결 가능한 부분을 여러 테이블에 걸친 쿼리를 별도로 작성해야 하고, 인덱싱으로 인한 오버헤드는 CUD 작업에서 발생하나 읽기 작업에서는 성능 개선이 되기때문에 서비스 형태에 따라 오버헤드를 상쇄할 수 있고, 최근 CPU의 성능으로 미루어보아 오버헤드에 따른 지연이 크지 않거나 만약 발생할 경우 분산 데이터베이스를 통해 구조적으로 해결이 가능하다
라는게 일단 내 생각임,,,
오호... 그럴 수 있구나... - dc App
인덱스의 문제점이라고 알려져있는데 => 외래키의 문제점이라고 알려져 있는데
댓글을 좀 두서없이 썼다 쨌든 저런게 있으니
https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html
여기가서 외래키에 대해 알아보면 좋을거 같음 mysql 안쓰고 있으면 쓰는 db 공식문서 번역기 돌려서 ㄱㄱ
정합성에 너무 목매지마, RDB 안쓰는 상황에서도 걍 다 알아서 맞춤..
정합성 무시하란건 아닌데, 절대불변의 진리가 아닌 선택할 수 있는 도구에 불과하단 소리임