programing

단일 글로벌 시퀀스와 테이블당 시퀀스 중 어느 것이 더 나은가요?

yellowcard 2023. 6. 29. 19:57
반응형

단일 글로벌 시퀀스와 테이블당 시퀀스 중 어느 것이 더 나은가요?

네이티브 오라클 시퀀스를 사용하는 JPA/Hibernate 애플리케이션에서 다음과 같은 단일 글로벌 시퀀스를 사용하는 것이 더 낫습니까?hibernate_sequence또는 테이블별로 별도의 시퀀스를 정의할 수 있습니까?

단일 시퀀스를 유지하는 것이 더 쉬워 보이지만 ID를 더 길게 만들어 문제 해결이나 임시 쿼리를 더 어렵게 만들 수 있습니다.

캐시를 사용하면 문제가 완화되지만 여러 세션에서 다음 값이 필요할 때 시퀀스가 경합을 일으킬 수 있습니다.모든 테이블에 서비스를 제공하는 시퀀스가 하나 있는 경우 모든 테이블의 모든 삽입이 동일한 시퀀스를 위해 경합합니다.성능을 추구하는 경우 각 테이블에 대해 하나의 시퀀스를 사용하면 경합이 줄어듭니다.

단일 시퀀스는 두 테이블에 일치하는 ID가 없음을 의미합니다.실수로 잘못된 표를 조회하면 절대 얻을 수 없기 때문에 실제로는 이것이 좋습니다.삭제할 때 특히 유용합니다.그것은 작은 것이지만 저는 그것이 유용하다고 생각합니다.

테이블당 시퀀스를 사용하는 것이 좋습니다.그것은 내 책에서 조금 더 깨끗할 뿐입니다.제가 현재 근무하고 있는 직장의 기준은 표당 순서입니다.

언급URL : https://stackoverflow.com/questions/7774644/which-is-better-single-global-sequence-vs-sequence-per-table

반응형