반응형
[DB][Oracle] 오라클 DBMS_LOB 함수 성능테스트
/* LOB인 데이터를 가져올 때 사용하는 방식 */
SELECT
DBMS_LOB.SUBSTR(WORK_PLAN, DBMS_LOB.GETLENGTH(WORK_PALN)) AS WORK_PLAN
FROM
COLUMN_A
- 오라클에서 함수를 사용하지 않고도 조회가 가능한데 이런식으로 한 이유는 잘 모르겠다 (성능이 더 좋은가?...)
- stackoverflow에서 DBMS_LOB.GETLENGTH의 경우 BLOB 데이터 타입에 사용하면 기존 length함수가 number of character를 return 하는 것과는 달리 btye length를 return 한다고 한다.
성능 테스트
SELECT
DBMS_LOB.SUBSTR(WORK_PLAN, DBMS_LOB.GETLENGTH(WORK_PALN)) AS WORK_PLAN
FROM
COLUMN_A
/* 0.12sec */
SELECT
WORK_PLAN
FROM
COLUMN_A
/* 1.72 sec */
SELECT
SUBSTR(WORK_PLAN,0,LENGTH(WORK_PLAN))
FROM
COLUMN_A
/* 1.65 sec */
- 데이터가 많지 않음에도 불구하고 LOB관련 함수를 사용했을 때와 아닐 때의 유의미한 차이를 보였다.
'데이터베이스' 카테고리의 다른 글
[DB] 인덱스란? (0) | 2021.09.05 |
---|---|
[Oracle] ORA-28002: the password will expire within 7 days (0) | 2020.12.19 |
[SQL][Oracle] 조인이란? (0) | 2020.11.08 |
[SQL] [oracle] 오라클 내장함수 (0) | 2020.11.08 |
[DB] [Oracle] 오라클 데이터 타입 (0) | 2020.11.08 |