2014-03-02 5 views
0

일반적인 데이터베이스 프로그래밍 이론에 대한 질문에 스택 오버플로가 너무 많지 않기를 바랍니다. 내 데이터베이스에있는 테이블 중 하나에 고유 문자열이 있습니다. 나는이 필드가 Unique임을 MySQL에 명시했다. 동일한 데이터를 다시 추가하려고 할 때 - 적절한 목적으로 - 중복 항목 메시지가 올바르게 표시되고 데이터가 추가되지 않습니다. 내 질문은 문자열을 찾고 이전에 문자열을 저장했는지 확인하는 코드에 몇 개의 문을 삽입하는 것보다이 데이터베이스 기능, 고유성을 사용하는 것이 더 나은가입니다 ...데이터베이스에서 독창적 인 방법을 사용하여 프로그래밍 방식으로 수행하기

미리 도움을 주셔서 감사합니다 .

제프

답변

1

번호

어떤 다른 사람이 if 확인하고 INSERT 쿼리 사이를 추가하는 경우? 데이터베이스 수준의 제약 점의

일부는 원자 –이 제약 조건을 확인하고 동시에 삽입을 수행하는 것입니다, 그래서 다른 아무도 중간에 방해 할 수 있습니다.

+0

감사합니다. SLaks. 그래서 이것은 고유 플래그를 사용하는 것이 의미하는 길입니까? – physics90

1

MySQL과 같은 관계형 데이터베이스의 경우 데이터베이스에서 열의 고유성을 적용하는 것이 올바른 결정이라고 할 수 있습니다.

데이터 무결성을 적용하는 것이 데이터베이스의 주요 기능이며 고유 한 열은이 기능의 필수적인 부분입니다. 키 열의 경우에는 집행이 db에있을 때 ID로 레코드를 찾는 성능상의 이점이 있습니다.

마지막으로 많은 사용자가 동시에 레코드를 만들 수있는 분산 응용 프로그램을 실행하는 경우 직접 키 생성을 동기화하는 대신 무료로 사용할 수 있다는 보장이 있습니다.