나는 Hibernate를 사용하는 것을 배우고있다. 최대 절전 모드에서 병행 삽입을하는 법을 제대로 알고 싶습니다. > URL -Hibernate + concurrent inserts (MySQL INSERT IGNORE)
CREATE TABLE `urls` (
id INT PRIMARY KEY AUTO_INCREMENT,
md5 CHAR(32) UNIQUE,
url TEXT
);
테이블 목적은 매핑 ID <을 유지하는 것입니다 :
가 나는 URL을 테이블로 정의합니다. md5 필드는 url의 md5 합계입니다. 일반적으로 url은 1024 바이트보다 길 수 있습니다. 이는 mysql의 UNIQUE 제약 조건의 한도입니다.
제 질문은 url -> id 함수 처리 동시성에 대한 쿼리입니다. JDBC 구현에서는 다음 단계를 수행합니다.
- SELECT id WHERE md5 = md5 (url);
- 존재하는 경우 ID를 반환하고 그 밖의 경우 :
- URL을 삽입하십시오 (MD5, URL) VALUES (MD5 (url), url);
- 재시도 요청 된 URL이 2 단계와 내가 최대 절전 모드와 함께이 작업을 수행하려면 어떻게 (3) 사이에 삽입하는 경우에도 그것은 좋은 일 1.
단계?