10000개의 insert문을 수행하고, 수행 시간을 측정하고 싶습니다.
그래서 아래와 같은 프로시저를 만들었습니다. 처음에 선언하는 곳에서 l_start라는 변수에 프로시저의 처음 진입시에 시간을 측정하고
모든 쿼리 수행후의 시간을 l_end 라는 변수에 저장해서 l_end - l_start 라는 오퍼레이터를 통해서 시간을 계산하려고 했습니다.
CREATE OR REPLACE FUNCTION clean_emp_test1( l_start timestamp with time zone ) RETURNS interval AS $$
DECLARE
l_end timestamp;
BEGIN
FOR i IN 1.. 10000 LOOP
insert into "test"(id) values( 'hi' );
END LOOP;
l_end := now();
return l_end - l_start;
END;
$$ LANGUAGE plpgsql;
이렇케 Function을 하나 만들고, 수행 하니까. 항상. 00:00:00 반환됩니다. 도대체 왜 이럴까요. ㅜㅜ 오라클 은 요로케 하면 잘만 됐는뎅
고수님들 도와주세요. .. 그리고. 밀리세컨 단위로도 출력 하고 싶은데, 잘안되요.. 도대체가. ㅠㅠ |