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