join_card_01a.sql 스크립트 참조
start setenv
set timing off
define t1f0 = 100
define t1j1 = 30
define t2f0 = 100
define t2j1 = 40
execute dbms_random.seed(0)
--- 생략 ------------------
create table t1
as
select
trunc(dbms_random.value(0, &t1f0 )) filter,
trunc(dbms_random.value(0, &t1j1 )) join1,
lpad(rownum,10) v1,
rpad('x',100) padding
from
all_objects
where
rownum <= 1000
;
create table t2
as
select
trunc(dbms_random.value(0, &t2f0 )) filter,
trunc(dbms_random.value(0, &t2j1 )) join1,
lpad(rownum,10) v1,
rpad('x',100) padding
from
all_objects
where
rownum <= 1000
;
----------------------------------------------------------------------------------------------
위에 표시해둔 부분이 지난번에 나왔던 바인드 변수 사용인가해서요~ㅎ
상수로 지정해서 프로그래밍 참조변수 사용하는 것처럼 쓰는듯~
<P>선언과 동시에 변수값을 할당한것니다. 상품 주세요.. ㅋㅋ브라보</P>
<p>상품 팀장님 뽀뽀라는...ㄷㄷㄷ (팀장님 뵨태아니래요~)</p>
<P>팀장님 낚시줄에 헌쓰 낚기것 맞나요.. ㅠㅠ 다음부터 조심해야 될것 같습니다.</P>
<p>머레? ㅡㅡ+</p>
<P>하드 파싱이랑 소프트 파싱 말씀하시는것 같은데요.. PL/SQL작성 할 때 파라미트 인수를 전달 받아서 처음 실행 하면 하드 파싱..</P>
<P>한번 하드 파싱하고나서.. SGA영역에 파싱 정보를 가지고 있어면 그 다음 부터는 소트프 파싱으로 돌았같니다. SGA영역 중 Shared Pool중에 Library Cache영역에 SQL파싱 정보를 저장 후 LRU(Leaset Recently used) 방식으로 메모리를 관리 하는 것으로 알고 있습니다. </P>
<P>그래서 일정 기간 동안은 SQL파싱 정보를 저장하고.. 계속 다른 SQL파싱 정보가 누적되면서 시간이 지나면 Library Cache영역에서 파싱 정보가 삭제 됩니다. 그 후 다시 SQL문이 실행 되면 하드 파싱.. Library Cache에 있는 동안에는 소프트파싱으로 작동 하는것으로 알고 있습니다. 위 스크리트도 처음에는 하드파싱으로 돌고 Library Cache에 있는 동안에는 소프트 파싱으로 돌아 갑니다. </P>
<P> </P>
<P>부족한 부분은 다른분들에 추가 답변이 있었것라고 믿습니다... </P>
<p>창헌씨 짱~~ㅎㅎ</p><p>덧붙혀서 CURSOR_SHARING ^^*</p><p>근데 저 쿼리만 바서는 그냥 자기 실험하기 편하게 할라고한듯..ㅎ create table 할라고 select 안에 들어가있는거라~~ㅎ</p><p>파싱에는 그닥 관여 안하지않을까요??ㅋ ㅡㅡ;;;<br></p>
<p>ㅎㅎㅎ 아직 PL/SQL에 대해서 잘모르는데~ </p>
<p>이번주에 SQL & PL/SQL 교육왔어요 ㅋㅋ</p>
<p>이번 교육듣고 보면 창헌씨 얘기가 뭔지는 조금더 감이 올듯해요~ㅎ</p>
<p>창헌씨, 팀장님 답변감사합니다~^^</p>
<p> </p>
<p> </p>