在linux下的Oracle的奇怪问题
  imfjl    2004-04-17 05:14:17
 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;