안녕하세요]
sqc로 프로그램을 하고 있는데 그냥 unique key로 되어 있거나
그냥 한건만 select가 되는 경우 다음과 같이 문장을 씁니다
EXEC SQL SELECT count(*) FROM employee WHERE name = :hname;
그런데, bldxlc로 컴파일후 실행하는데 이 select 문에서 시간이
무척 오래 걸린다는 점을 발견했습니다. 그리고 이런 식으로 select할
때 다른 테이블들에서도 역시 신경쓰일 정도로 시간이 지체됩니다.
(그냥 client tool에서 select를 하면 바로 결과가 나옵니다)
위의 select문장을 dynamic sql로 다음과 같은 과정을 거치도록
sqc로 작성하여 실행하니
정상적으로 속도가 나옵니다.
sprintf(hstmt, "SELECT count(*) FROM emplyee WHERE name = '%s'",
hname);
declare cursor...,
prepare cursor...,,
fetch cursor...,INTO
close cursor...,
첫번째 static sql문을 사용했을 때 무슨 문제가 있거나 체크해야
하는 점이 있나요?
왜 이런 속도 차이가 생기는지 잘 이해가 가지 않습니다.
|