PL/SQL 테이블 타입 (TYPE "변수명" IS TABLE OF "TYPE" INDEX BY BINARY_INTEGER) 관련 질문 0 0 579

by howl [PL/SQL] [2021.06.21 14:23:33]


안녕하세요, 눈팅만 하다 구루비에 첫 질문을 올립니다.

어플리케이션에서 오라클DB로 다수의 데이터를 전송할 때 여러가지의 방법들이 있겠지만

그 중에서도 테이블 타입 변수에 대한 질문입니다.

 

사실 제가 작업하는 환경에서 테이블의 구조변경은 매우매우 드뭅니다. 사실 바뀔일이 전무합니다.

그렇다보니 하나의 패키지 내에서 사용될 테이블 타입 변수를 각각의 프로시저마다 따로 선언하여 관리하여야하나? 하는 생각이 듭니다.

 

그래서 다음과 같이 '변수_A'를 하나 선언한 뒤, VARCHAR2형태의 변수가 필요한 곳은 컬럼 사이즈와 상관없이 통일하여 사용해볼까 합니다.

TYPE "변수_A" IS TABLE OF VARCHAR2(32767) INDEX BY BINARY_INTEGER;

 

하지만 얼핏 생각해도 결코 좋지못해보입니다. 문제는 구체적으로 어떤 부분이 어떻게 좋지 않을까? 하는 겁니다.

오라클 내부적으로 메모리를 왕창 잡아먹는다던지, 테이블 타입 변수의 메모리 해제에 다른 문제는 없는지, 또 어플리케이션 성능상에 미칠 영향은 어떨지..

단, 해당 프로그램은 대용량데이터를 관리하는 어플리케이션도, 동시접속자를 걱정할 어플리케이션도 아닙니다.

 

모든 부분을 알고계시지 않으시더라도 알고계신 만큼만이라도 댓글로 알려주신다면 많은 도움이 될 것 같습니다.

감사합니다! 즐거운 하루되시기 바랍니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입