SELECT UTL_MATCH.EDIT_DISTANCE_SIMILARITY('1111 2222', '2222') AS EDS ,UTL_MATCH.JARO_WINKLER_SIMILARITY('1111 2222', '2222') AS JWSFROM DUAL; eds jws45 40 결과는 45%, 40% ~~~ 두 비교 문자열이 100%일치하면 100이 리턴됨. UTL_MATCH.EDIT_DISTANCE_SIMILARITY 는 "Levenshtein Distance" 이고UTL_MATCH.JARO_WINKLER_SIMILARITY 는 "Jaro-Winkler Algorithm"를 사용한다고 함. 참고https://oracle-base.com/articles/11g/utl_match-string-matchin..
서브쿼링 팩토링 즉 WITH절로 Recursive(재귀호출)를 구현할 수 있습니다.이름하여 Recursive Subquery Factoring 입니다.예제는 아래와 같습니다.-----------------------------------------------------------------------------------------------------WITH t1(id, parent_id, lvl, root_id, path) AS ( -- Anchor member. SELECT id, parent_id, 1 AS lvl, id AS root_id, TO_CHAR(id) AS path FROM tab1 WHERE id = 1 UNION ALL -- Recursive member. SELECT t2.id,..
옵티마이저 힌트 중에 특정 인덱스를 사용하라고 알려주는 두가지 방법입니다. 첫번째 방법. INDEX(테이블명 인텍스명) -- 테이블명은 별칭으로 대체할 수 있습니다. : 인덱스명을 기술하는 방법 두번째 방법. INDEX(테이블명(컬럼명1 컬럼명2)) : 인덱스를 구성하는 컬럼명을 기술하는 방법 주로 첫번째 방법을 많이 사용하는데 두번쩨 방법은 인덱스명과 상관없이 사용할 수 있기 때문에 어쩌면 더 좋을 수도 있을 것 같습니다.
V$SQL에서 SQL_TEXT 앞부분이 같은 걸로 GROUP BY 해서 사용해도 되지만 PLAN_HASH_VALE 값을이용하는 방법을 소개해 드립니다.PLAN_HASH_VALUE값이 같은데 라이브러리캐시에 많이 존재 한다면 바인드변수 처리가 되지 않은 리터럴SQL일 가능성이 높습니다. SELECT PARSING_SCHEMA_NAME, PLAN_HASH_VALUE, COUNT(*) AS CNTFROM V$SQLGROUP BY PARSING_SCHEMA_NAME, PLAN_HASH_VALUEORDER BY COUNT(*) DESC; CNT가 많은 것부터 PLAN_HASH_VALUE 값으로 조회하면 쉽게 리터럴 SQL를 찾을 수 있습니다.
오라클에서 대용량데이터 처리시에 사용되는 Hash Join시 주의할 점 1가지를 소개해 드립니다. 두 집합중 작은 데이터를 '=' 조인이 되는 컬럼값으로 Hash Table를 생성한 후에 후행 테이블을 Scan 하면서 Join이 이루어 지는데요. 이때 후행 테이블 컬럼 조건에 무거운함수가 있다면 속도가 기하 급수적으로 느려집니다. 이유는 후행 테이블 Full Scan시에 먼저 상수값으로 필터링하고 그 다음에 함수가 있으면 함수 결과 값을 받은 후에 필터를 처리합니다. 즉 필터를 먼저 수행한 다음에 조인이 이루어 집니다. 상수값은 어차피 읽은 값이기 때문에 성능에 영향을 많이 주지는 않지만 함수는 후행테이블 로우수 만큼 수행이 되기 때문입니다. 그러면 어떻게 해야 할까요? 먼저 상수값으로 필터링 한 다음 ..
오라클 WITH문은 아래와 같습니다. WITH V_XXX -- 별칭 AS( SELECT ~~~~)SELECT *FROM V_XXX; V_XXX 는 실채호된뷰(MATERIALIZE) 와 인라인뷰(INLINE) 2가지로 사용할 수 있습니다. 예를 들어 V_XXX가 GROUP BY가 있어서 먼저 데이터셋을 만들고 메인쿼리에서 참조하여 사용할 수 있고,V_XXX가 인라인뷰로 들어가 사용될 수 있습니다. V_XXX가 GROUP BY가 있고 이 작업이 무거워서 먼저 처리한 후에 메인쿼리에서 기타 다른 집합과 조인해서 처리하는게 빠르다고 판단한다면 V_XXX 에 /*+ MATERIALIZE */ 힌트를 주어서 실체화된 뷰로 만들어서 사용하여 성능을 개선할 수 있습니다.
- Total
- Today
- Yesterday
- 고체 향수
- 별이 빚나는 밤
- 배당급
- 루미큐브 종류
- 파나소닉 비데 DL-EH10KWS
- 톡토기
- 르세라핌
- 브리다 정수기
- weka
- 솔리드 쿨론
- JMW 헤어드라이기기
- yugabyteDB
- node.js
- 카카오 에드
- 오미크론
- 남설 팔찌
- 증권정보포털
- GKRS
- Sybase IQ
- VARIDESK
- Life Chair
- 유가바이트디비
- 화분벌레
- Pixel Pals
- 로니카 BCS
- 빈센트 반 고흐
- 매직 트랙패드2
- 코라나 19
- 홈 오피스
- 별잉 빛나는 밤
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |