[질문] static 으로 선언된 쿼리 0 1 1,573

by 손형선 [2007.06.08 15:51:44]


안녕하세요?

 

2번째 쿼리는 자바 소스에서 static 으로 선언되어서 공유 커서가 사용 안되고, 똑같은 문장이 라이브러리 캐쉬에 반복해서 들어가는데요. static으로 써서 그 문장이 메모리에 올라감으로서 자바에서 성능 향상이 있을수도 있나요? 아니면 static 을 없애는 것이 맞을까요?

 

select sql_text, version_count, loads, invalidations, parse_calls, sorts

from v$sqlarea

where parsing_user_id > 0

and command_type = 3

and sql_text like '%TBL_SERV_NGB%'

--and sql_text like '%TBL_MENU_URL%'

order by sql_text;

 

------------------------------------------------------------------------------------------------------------

select JUMP_ID from TBL_MENU_URL where JUMP_GSU = :1      1            1            0            321         0

------------------------------------------------------------------------------------------------------------

public static String GET_STYLE_FROM_ID = "SELECT STYLE_CONTENT FROM  TBL_SERV_NGB_STYLE STYLE WHERE  STYLE.STYLE_ID = ? AND LCD_ID = ?";

 

SELECT STYLE_CONTENT FROM TBL_SERV_NGB_STYLE WHERE STYLE_NAME='0105_mil_norm' AND LCD_ID=0          1            1             0            4            0

SELECT STYLE_CONTENT FROM TBL_SERV_NGB_STYLE WHERE STYLE_NAME='0109_3D_menu' AND LCD_ID=0          1            1             0            10          0

SELECT STYLE_CONTENT FROM TBL_SERV_NGB_STYLE WHERE STYLE_NAME='0109_3D_new' AND LCD_ID=0            1            1             0            2            0

=========================================================

by finecomp [2007.06.08 00:00:00]
제목은 static인데 내용은 literal과 Binding의 비교네요.
static은 dynamic과 반대되는 말로 SQL문 자체를 변수에 담으면서 동적으로 생성하는 방법이 아니고 직접 실행하는 방법의 SQL을 말합니다.

literal방법은 binding방법에 비해 hard-parsing이 훨씬 많이 발생하며, parsing은 생각보다 많은 서버의 자원을 사용합니다. 그 중에서 hard-parsing은 soft-parsing보다도 더 많은 자원을 필요로 합니다.
literal SQL은 빈번한 hard-parsing의 주범입니다.
답변이 되었을런지 모르겠군요.

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