随笔分类 -  Oracle

摘要:Oracle主要有以下五种循环:Exit When、Loop、While、For(普通循环)、For(游标循环),下面举例一一说明(均为存储过程)。1. Exit When循环:create or replace procedure proc_test_exit_when isi number;begini:=0;LOOPExit When(i>5);Dbms_Output.put_line(i);i:=i+1;END LOOP;end proc_test_exit_when;2. Loop循环:create or replace procedure proc_test_loop isi 阅读全文
posted @ 2012-11-01 17:52 先行而后三思 阅读(247) 评论(0) 推荐(0)
摘要:Oracle审计:http://wenku.baidu.com/view/053fcef34693daef5ef73d90.htmlAWR分析: http://wenku.baidu.com/view/0c7627781711cc7931b71664.html?from=rec&pos=0&weight=8&lastweight=2&count=5http://wenku.baidu.com/view/a95b4ee0524de518964b7d86.html?from=rec&pos=4&weight=34&lastweight=34& 阅读全文
posted @ 2012-11-01 17:08 先行而后三思 阅读(191) 评论(0) 推荐(0)
摘要:概述: 在处理一个大约有400W数据的表中的冗余数据,使用cursor来一条一条处理的时候,发现耗时大约为5 hours左右。之后采用Oracle提供的BULK COLLECT和FORALL改写程序,耗时降到1个小时左右,速度提高了5倍左右。原因是:使用BLUK COLLECT一次取出一个数据集合,比用游标条取数据效率高,尤其是在网络不大好的情况下。但BLUK COLLECT需要大量内存。使用FORALL比FOR效率高,因为前者只切换一次上下文,而后者将是在循环次数一样多个上下文间切换。语法:1. select into中使用bulk collect SELECT id, code BU... 阅读全文
posted @ 2012-04-06 17:23 先行而后三思 阅读(1357) 评论(0) 推荐(0)