网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle Database 10 g : 为 DBA .
.六步搞定 Oracle 透明网关环境的.
.Ora2html--收集Oracle数据库信息.
.sequence与会话有关--oracle一个.
.关于Oracle进程结构及后台进程简.
.ORACLE常用傻瓜问题1000问(之十三.
.Oracle 数据库10g:自动共享内存.
.oracle与unix时间的转换.
.Squid+MRTG实现完善的缓存代理和.
.pl/sql程序编写中遇到的一些问题.
.jb+oracle+weblogic cmp中使用自.
.Oracle性能调优实践中的几点心得.
.oracle数据库备份与恢复 a piece.
.Oracle 有关Linux常见问题的详细.
.Oracle中自定义临时表的实现及其.
.在UNIX服务器上设置Oracle8i全文.
.关于Oracle数据库中行迁移/行链接.
.Oracle体系框架及SQL语句性能完全.
.不要忽视Oracle 10g STATSPACK新.
.如何选购Linux可以搭配的机器之整.

实例讲解Oracle的快速删除和快速插入

发表日期:2008-2-26


Oracle的快速删除和快速插入

快速插入


SQL> insert /**//*+append*/ into t select * from
dba_objects nologging;

9157 rows created.


SQL> select a.xidusn,a.xidslot,a.used_ublk,
a.used_urec,b.username
 2 from v$transaction a,v$session b,v$mystat c
 3 where a.addr = b.taddr and c.statistic# = 1
 4 /

 XIDUSN XIDSLOT USED_UBLK USED_UREC USERNAME
---------- ---------- ---------- ---------- -------
 2 21 1 1 CUST

SQL> commit;

Commit complete.

SQL> insert into t select * from dba_objects;

9157 rows created.

SQL> select a.xidusn,a.xidslot,a.used_ublk,
a.used_urec,b.username
 2 from v$transaction a,v$session b,v$mystat c
 3 where a.addr = b.taddr and c.statistic# = 1
 4 /

 XIDUSN XIDSLOT USED_UBLK USED_UREC USERNAME
---------- ------- ---------- ---------- -----
 1 1 13 423 CUST


快速删除


建个存储过程,达到2000条或者更多条,提交一次.


create or replace procedure p_delete
as
n number(10);
cursor my_cur is select * from t1;
begin
n:=0;
for i in my_cur loop
delete from t1 where <条件>;
n:=n+1;
if (mod(n,2000))=0 then
commit;
end if;
end loop;
end;
/

上一篇:讲解Oracle表碎片的具体起因及解决的办法 人气:1243
下一篇:Oralce定时执行存储过程任务的设置步骤 人气:1583
浏览全部Oracle的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐