2010-03-18 7 views
1

Toxi 스키마 을 사용하여 태그 (Stackoverflow에있는 것과 같은 태그)를 저장할 계획입니다. 태그는 별도의 테이블에 저장됩니다.태그 지정 및 태그 테스트 방법이 있습니다.

create table tags 
(
    tagSeq int unsigned, 
    name varchar(255), 
    PRIMARY KEY (tagSeq), 
    UNIQUE INDEX (name) 
); 

태그를 추가 할 때 여러 개의 동시 스레드가 특정 태그가 있는지 확인하려고 시도합니다. 따라서 논쟁의 포인트가 될 것입니다. 태그가 존재하면 쓰레드는 tagSeq를 꺼내어 태그가있는 항목과 연결하는 행을 중간 테이블에 추가합니다.

(존재하지 않는 경우) 데이터 무결성을 유지하면서 높은 동시성을 갖는 사용 사례를 만들려면 어떻게 사용합니까? 예를 들어 어떤 격리 수준을 사용해야합니까?

내 현재 해결 방법은 들어오는 모든 스레드가 INSERT를 수행하는 것입니다. UNIQUE KEY 제약 조건 위반이 발생하면 tagSeq를 다시 읽습니다. 그렇지 않다면, 나는 그것을 창조한다. 내가 궤도에 있니?

+0

내가 1062 오류를 처리, 저장 프로 시저를 사용하십시오 : http://www.devshed.com/c/a/MySQL/Error-Handling/ –

답변