본문 바로가기

DB이야기/ORACLE

[오라클] ora_hash 와 standard_hash

728x90

오라클에서 string에 대한 유니크한 값을 얻기위해 UUID 값을 생성해야 할 필요가 있다.
이때 ora_hash를 이용해도 되지만 일부 중복 값이 발생한다.
오라클에서는 다른 hash값을 얻을수 있는 패키지를 제공한다.
standard_hash로서 대량의 데이터(22억건)를 이용하여 다음의 조건을 만족하는지 테스트를 수행해 보았다.

1. 일관성 있는 hash값이 나오는지?
     여러번 수행해도 동일한 hash값이 나오는지
2. 중복 발생이 있는지?
      hash값의 collisiom이 있는지
3. 함수 사용으로 인한 성능은 어떤지?

CTAS를 이용하여 테스트를 수행했는데 standard_hash 적용시 미 적용한 시간보다 약 80%정도 더 소요되었다. 22억건 처리에서 성능이 조금 느려지지만 데이터 이행 관점에서의 성능은 나쁘지 않았다.

select pk1, pk2, c1, c2,
             standard_hash(pk1||pk2,'MD5')
from   table_name
:

728x90

'DB이야기 > ORACLE' 카테고리의 다른 글

컬럼 내용 패턴화  (0) 2022.12.12
unix 파일 사이즈별로 조회하기  (0) 2022.12.07
sqlplus 환경 초기화 하기  (0) 2022.12.02
오라클 varchar를 32000으로  (0) 2022.11.29
오라클 IOT 테이블의 insert 작업  (0) 2022.11.14