pro*c查询的执行时间



我是新来的pro*c ,当我执行查询时,基本问题会出现,如何获得执行时间?

我想到的选项在查询之前和之后打印时间戳。但是,肯定会有比这更好的选择,我可能会错过。

示例:

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是否有任何内置选项可以获取查询的执行时间?我尝试了很多,但无法获得与之相关的信息。

找到查询执行时间的简单方法。这是查询

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;
/

最新更新