PRO*C Время выполнения запроса

Я новичок в PRO*C, и когда я выполняю запрос, у меня возникает основной вопрос: как получить время выполнения?

Мне приходит в голову вариант распечатать TIMESTAMP до и ПОСЛЕ запроса. но определенно будет лучший вариант, чем этот, который я мог пропустить.

Пример:

printf("BEFORE %s", ctime(&my_time)); 

EXEC SQL SELECT dname, deptno 
FROM dept 
WHERE deptno IN (SELECT deptno FROM emp); 

printf("AFTER %s", ctime(&my_time)); 

Есть ли в PRO*C какая-либо встроенная опция для получения времени выполнения запроса? Я много пробовал, но мне не удалось получить информацию, связанную с этим.


person Nitin Tripathi    schedule 13.03.2019    source источник


Ответы (1)


Существует простой способ найти время выполнения запроса. ВОТ ВОПРОС

DECLARE
  curr_time1 DATE := SYSDATE;
  curr_time2 NUMBER := dbms_utility.get_time;
  L_VAR VARCHAR2(2);
BEGIN
  SELECT 1 INTO L_VAR FROM DUAL;
  dbms_output.put_Line ('Elapsed Time = '||(dbms_utility.get_time - curr_time2));
END;
/
person Prashant.jha    schedule 14.03.2019