DBMS_UTILITY.GET_CPU_TIME和DBMS_UTILITY.GET_TIME
来源:互联网 发布:淘宝五星好评 编辑:程序博客网 时间:2024/06/16 00:49
1.计算密集型(cpu-bound)
DECLARE
N PLS_INTEGER := 0;
A1 PLS_INTEGER;
A2 PLS_INTEGER;
A3 PLS_INTEGER;
A4 PLS_INTEGER;
BEGIN
A1 := DBMS_UTILITY.GET_CPU_TIME;
A3 := DBMS_UTILITY.GET_TIME;
FOR I IN 1 .. 100000000LOOP
N := N + 1;
END LOOP;
A2 := DBMS_UTILITY.GET_CPU_TIME;
A4 := DBMS_UTILITY.GET_TIME;
DBMS_OUTPUT.PUT_LINE(A2 - A1);
DBMS_OUTPUT.PUT_LINE(A4 - A3);
END;
输出:
GET_CPU_TIME:123
GET_TIME:124
2.I/O密集型
DECLARE
N PLS_INTEGER := 0;
A1 PLS_INTEGER;
A2 PLS_INTEGER;
A3 PLS_INTEGER;
A4 PLS_INTEGER;
BEGIN
A1 := DBMS_UTILITY.GET_CPU_TIME;
A3 := DBMS_UTILITY.GET_TIME;
FOR I IN (SELECT* FROM all_source)LOOP
NULL;
END LOOP;
A2 := DBMS_UTILITY.GET_CPU_TIME;
A4 := DBMS_UTILITY.GET_TIME;
DBMS_OUTPUT.PUT_LINE('GET_CPU_TIME:'|| (A2 - A1));
DBMS_OUTPUT.PUT_LINE('GET_TIME:'|| (A4 - A3));
END;
输出:GET_CPU_TIME:147
GET_TIME:169
DBMS_UTILITY.GET_TIME 为总消耗时间.
DBMS_UTILITY.GET_CPU_TIME为使用的cpu时间,在cpu密集操作时,两者的结果几乎一致.
两者返回的时间单位均为百分之一秒
:1)pls_integer类型也是数字类型,但和number类型不同,number可以存储实数,而pls_integer只能存储-2147483647到+2147483647之间的整数,如果使用pls_integer类型时发生溢出,系统将会报错。
2)binary_integer与pls_integer类似,在9.2版本以前大量使用,从9.2以后,从Oracle内部一些组件可以看的出,大有被pls_integer取代之势(pls_integer比binary_integer具有更少的存储开销和更好的访问性能,所以Oracle从9.2以后推荐你尽量能使用pls_integer就使用pls_integer)。它也是只能存储-2147483647到+2147483647之间的整数。
3)在oracle 11g中,又增加了一个新的类似的数据类型simple_integer,不过simple_integer不能包含空值,它的取值范围是[-2147483648..2147483647]。在11g中,simple_integer相对pls_integer在性能上又有所提高,如果在实际的pl/sql中既不需要overflow检查也不会包含null值,Oracle建议你使用simple_integer.
- DBMS_UTILITY.GET_CPU_TIME和DBMS_UTILITY.GET_TIME
- DBMS_UTILITY.GET_TIME与DBMS_UTILITY.GET_CPU_TIME
- Oracle DBMS_UTILITY.GET_TIME与DBMS_UTILITY.GET_CPU_TIME区别
- dbms_utility.get_time
- Oracle dbms_utility.get_time
- dbms_utility获取CPU时间(get_cpu_time)
- 記錄執行一條一句需要多長時間:oracle dbms_utility.get_time函数
- DBMS_UTILITY.get_time——比较时间差
- 【转】用dbms_utility.get_time来估算过程的执行时间
- 使用DBMS_UTILITY.GET_TIME来捕获某段代码的执行时间
- DBMS_Utility学习
- Oracle dbms_utility 包用法
- Oracle DBMS_UTILITY 用法例子
- Oracle DBMS_UTILITY.GET_HASH_VALUE
- DBMS_UTILITY.EXEC_DDL_STATEMENT提示无权限
- dbms_utility.table_to_comma使用的注意点
- 利用DBMS_UTILITY.GET_HASH_VALUE 给文本建立索引
- Oracle dbms_utility 几种返回的错误
- jsp隐式对象
- springmvc类型转换
- 类似于qq登录时账号密码的保存
- Swift的变量和常量
- 树的子结构
- DBMS_UTILITY.GET_CPU_TIME和DBMS_UTILITY.GET_TIME
- android中使用xml里的array资源
- super 关键字
- 1.排序之冒泡排序算法
- malloc与new函数详解
- this指针指向当前调用对象,只是用于类的非静态成员函数。静态函数和全局函数 无当前对象,无this指针。
- Android Studio 修改主题
- edu round 9 B-Alice, Bob, Two Teams
- IOS 高效利用Xcode