相关文章
更多最近更新
更多在oracle9i中如何编写sql或者存储过程来知道执行sql或者函数花费的时间?
2019-03-25 13:47|来源: 网路
在oracle9i中如何编写sql或者存储过程来知道执行sql或者函数花费的时间?
比如:我有两种sql的写法
我想通过一定的方式 执行如上的两种sql语句来比较执行效益.我已经用存储过程执行了插入了20w条记录。
现在就要问各位有什么方式可以来比较其执行效益的。
而且执行先前的sql后会有数据缓存,对后面的操作时间也会有影响,我该怎么办呢??
有个经验的同学给个好的解决方案,没有说下解决这个问题的思路也可以
先谢谢各位了...
问题补充:
只有依靠工具了吗》pl/sql不能像java一样可以来通过执行前的系统时间减去执行完成的时间得到整个运行时间吗? 或者其他别的方法?
问题补充:
谢谢你的 回答
可以看下这个帖子 http://www.iteye.com/topic/289339
方法二 就是我要问的~ 但方法还没完善~
我希望能有个函数可以输出执行SqL消耗的时间
比如:我有两种sql的写法
引用
SELECT temp.name FROM ( SELECT count(DISTINCT tempone.goodsname) as nums, tempone.name FROM tempone GROUP BY tempone.name ) temp WHERE temp.nums > 1
select t1.name from tempone t1,tempone t2 where t1.name = t2.name and t1.goodsname != t2.goodsname group by t1.name;
我想通过一定的方式 执行如上的两种sql语句来比较执行效益.我已经用存储过程执行了插入了20w条记录。
现在就要问各位有什么方式可以来比较其执行效益的。
而且执行先前的sql后会有数据缓存,对后面的操作时间也会有影响,我该怎么办呢??
有个经验的同学给个好的解决方案,没有说下解决这个问题的思路也可以
先谢谢各位了...
问题补充:
只有依靠工具了吗》pl/sql不能像java一样可以来通过执行前的系统时间减去执行完成的时间得到整个运行时间吗? 或者其他别的方法?
问题补充:
谢谢你的 回答
可以看下这个帖子 http://www.iteye.com/topic/289339
方法二 就是我要问的~ 但方法还没完善~
我希望能有个函数可以输出执行SqL消耗的时间
相关问答
更多-
oracle中的存储过程与函数[2022-05-17]
函数是有返回值的,存储过程没有。 在BODY中的话,一般函数都是SELECT语句,而存储过程是包括DML语句的。 -
Oracle存储过程输入不同参数执行不同SQL[2023-04-21]
可以的,例如: create procedure test(vs_para in varchar2) is begin if (length(vs_para)=1) then insert into ** ; elsif (length(vs_para)=2) then delete ** ; else null; end if; end; -
oracle存储过程循环执行SQL语句[2022-06-19]
declare sql_tem Varchar2(4000); a number; b number; i number; begin a := 1; for i in 1 .. 3 loop b := a + 4; sql_tem := 'insert into A2 (ID,NAME) (select ID,NAME from A1 WHERE ROWNUM between :1 and :2)'; EXECUTE IMMEDIATE sql_tem USING a, b; commit; a := a ... -
oracle中如何得到执行存储过程的开始和结束时间[2022-09-29]
需要在存储过程中定义的时候把开始执行时间和结束时间打印出来。 举例如下: 创建存储过程: create or replace procedure p_test as v_begintime varchar2(20); v_endtime varchar2(20); v_str varchar2(10); begin v_begintime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'); select 'badkano' into v_str from dual; v_e ... -
PL_sql如何执行oracle存储过程[2022-01-08]
3。 应该用 select 字段 into plsql变量 from 表名; v_areaRecord dual%ROWTYPE.select * from ods_area要成功执行这个存储过程; 来执行代码; end area;": create or replace procedure area is --变量声明: 1; 执行. 如果存储过程代码无误.通过exec 或 execute 来调用编译后的存储过程,编译存储过程. 存储过程的语法格式为; --调用 exec area,保存到pls ... -
oracle存储过程中如何执行动态SQL语句 详细[2022-06-23]
有时需要在oracle 存储过程中执行动态SQL 语句 ,例如表名是动态的,或字段是动态的, 或查询命令是动态的,可用下面的方法: set serveroutput ondeclaren number;sql_stmt varchar2(50); t varchar2(20);beginexecute immediate 'alter session set nls_date_format=''YYYYMMDD'''; t := 't_' || sysdate; sql_stmt := 'select co ... -
Oracle [存储过程] 执行动态拼接SQL语句并返回结果??[2023-02-18]
建议你用 instr函数,v_sql条件改为 where instr(p_jbm,t.jbm)>0试试吧。 -
pl/sql中编写存储过程[2022-09-02]
你既然是用PLSQL,左边的ALL OBJECTS栏里,你没看到有个procedures 吗,这个就是过程包,你直接点右键就可以新建一个过程. -
我相信您仍然可以使用SELECT * FROM OPENQUERY(ORA_SERVER, 'EXECUTE sp;')来完成此操作。 I believe you can still use SELECT * FROM OPENQUERY(ORA_SERVER, 'EXECUTE sp;') to acomplish this.
-
从SQL Server存储过程执行Oracle存储过程(Execute an Oracle stored procedure from a SQL Server stored procedure)[2022-12-16]
Oracle服务器中的一个过程“TestingProcedure”。 SQL Server中的链接服务器“LinkedServer”。 在SQL Server中调用TestingProcedure示例: EXECUTE ('begin TestingProcedure; end;') AT LinkedServer; Turns out I ended up having to use Microsofts CLR and write my own little C# application in ord ...