programing

MySQL에서 외부 키 제약 조건을 사용하는 이유

copyandpastes 2022. 10. 2. 22:46
반응형

MySQL에서 외부 키 제약 조건을 사용하는 이유

그냥 궁금해서

추가하는 타입을 규정할 수 있다고 확신하는데 MySQL에서 외부 키로 제약을 사용하는 동기는 무엇입니까?

퍼포먼스가 향상됩니까?

외부 키는 참조 무결성을 적용합니다.이러한 제약에 의해 테이블 내의 행이order_details밭과 함께order_id참조orders테이블은 절대 가질 수 없다.order_id에 존재하지 않는 값orders테이블.

외부 키는 관계형 데이터베이스가 작동해야 하는 것은 아니지만(사실 MySQL의 기본 스토리지 엔진은 FK를 지원하지 않음), 관계가 끊기고 행이 분리되는 것(참조 무결성)을 방지하기 위해 반드시 필요합니다.ACID C를 유지하려면 데이터베이스 수준에서 참조 무결성을 강제하는 기능이 필요합니다.

퍼포먼스에 대한 우려는 일반적으로 퍼포먼스 비용이 발생하지만 아마 무시할 수 있을 것입니다.외부 키 제약 조건을 모두 넣고, 다른 방법으로는 해결할 수 없는 실제 성능 문제가 있는 경우에만 키 제약 없이 실험해 볼 것을 권장합니다.

한 가지 이유는 외부 키 제약이 있는 테이블 세트를 여러 데이터베이스에 샤딩할 수 없기 때문입니다.

언급URL : https://stackoverflow.com/questions/3433975/why-use-foreign-key-constraints-in-mysql

반응형