[CUCURSOR_SHARING]
SQL 조건절에 있는 상수 값들을 변수로 전환시켜 parsing 함으로써 cursor를 공유할 수 있도록 해줍니다.
- EXACT : 모든 문장이나 변수까지 동일해야 동일한 문장으로 인정
- SIMILAR : 문장은 동일하고 바인드 변수값이 다를 경우에도 동일한 문장으로 인정
- FORCE : 문장은 동일하지만 상수값이 다른 sql일 경우에도 동일한 문장으로 인정
[예시]
alter session set cursor_sharing=force;
INSERT INTO ZZ_TEST (AA, BB) VALUES ('1', 'a');
INSERT INTO ZZ_TEST (AA, BB) VALUES ('2', 'b');
INSERT INTO ZZ_TEST (AA, BB) VALUES ('3', 'c') ;
.....
INSERT INTO ZZ_TEST (AA, BB) VALUES ('9998', 'aa');
INSERT INTO ZZ_TEST (AA, BB) VALUES ('9999', 'bb');
INSERT INTO ZZ_TEST (AA, BB) VALUES ('10000', 'cc') ;
alter session set cursor_sharing=exact;
cursor_sharing=force로 하면 constant들을 내부에서 bind화 시켜 주기 때문에, 위 insert 문들을 모두 하나의 쿼리로 재사용할 수 있다고 합니다.( 10000건의 쿼리가 실제 1건의 쿼리로 등재되어 재사용)
=> INSERT INTO ZZ_TEST (AA, BB) VALUES ( :txt1, :txt2);
툴(Toad, tAdmin)에서 직접 대용량 파일 업로드 수기로 할 경우가 사용하면 편리합니다.
(티베로에서 대용량 엑셀 파일을 tAdmin.ext 툴에서 insert 문을 이용하여 업로드하다가 DB가 다운되어버리는 문제가 있었음TT)
'기술' 카테고리의 다른 글
[오라클/티베로]DUAL 테이블과 CONNECT BY LEVEL를 활용한 달력구하기 (0) | 2024.02.27 |
---|---|
[오라클/티베로]LISTAGG / AGGR_CONCAT 함수 사용 (0) | 2024.02.23 |
[오라클/티베로]테이블상세정보 및 GRANT권한부여리스트,그외OBJECT(함수,프로시저,트리거,JOB)리스트 (0) | 2023.11.07 |
[티베로/오라클]CURSOR_SHARING 쿼리 캐쉬메모리 건건등재하지 않토록 옵션설정 (1) | 2023.06.27 |
SVN 접속 계정 사용자 관리 (0) | 2023.06.26 |