在linux下的Oracle的奇怪问题

imfjl 2004-04-17 05:14:17
我使用如下的过程,想测试用循环遍历一次表所需时间.结果该过程在linux下居然用了4分钟,而在windows下才用了32秒.(用select count(*) from Table_record速度都很快).两台机的配置并不相差太多啊.
过程如下:
CREATE OR REPLACE PROCEDURE MyTest IS;
v_count number;
v_row Table_record_1000000%RowType;
CURSOR cur_record IS SELECT * FROM Table_record;
BEGIN v_count:= 0;
DBMS_OUTPUT.PUT_LINE( TO_CHAR( SYSDATE , 'YYYY-MM-DD HH24:MI:SS' ) );
OPEN cur_record;
LOOP
FETCH cur_record INTO v_row;
EXIT WHEN cur_record%NOTFOUND; v_count := v_count + 1;
END LOOP;
DBMS_OUTPUT.PUT_LINE( TO_CHAR(v_count) ); DBMS_OUTPUT.PUT_LINE( TO_CHAR( SYSDATE , 'YYYY-MM-DD HH24:MI:SS' ) );
END;
...全文
17 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
imfjl 2004-04-18
linux的优化?具体指哪方面呢?
回复
beckhambobo 2004-04-17
用游标当然慢,linux的优化是否设置
回复
ATCG 2004-04-17
多试几次,也许LINUX机器正运行其它进程,资源被占
回复
相关推荐
发帖
基础和管理
创建于2007-09-28

1.7w+

社区成员

Oracle 基础和管理
申请成为版主
帖子事件
创建了帖子
2004-04-17 05:14
社区公告
暂无公告