在linux下的Oracle的奇怪问题

imfjl imfjl 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我使用如下的过程,想测试用循环遍历一次表所需时间.结果该过程在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;
...全文
评论 3
收藏 已收藏
分享
返回顶部
imfjl
基础和管理 17,379 成员 95,111 内容