易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle性能提高 批量绑定

author:skatetime:2010-05-04
在我们的系统里,大家在写pl/sql时,处理多条记录时,几乎都是通过游标来完成的,这样是非常影响性能的。我们可以用批量绑定可以大大的改善。
 
批量绑定是oracle9i增加的特性,是指执行单次sql操作能传递所有集合元素的数据。通过绑定绑定变量可以极大的提高数据处理速度,提高应用程序的速度。批处理可以用与select,update,delete,insert语句上进行批量数据的处理。
 
在我们写pl/sql的时候,oracle会为select和dml语句分配上下文区(这个步骤是非常耗资源的,oracle对于太频繁的切换,都换用其它方式代替,例如spin),游标就是上下文区的指针。所以在我们日常coding时,尽量少用cursor,虽然cursor使用很简单,但也带来很大的性能问题,我们现在系统里的游标就非常多。
批量绑定是使用bulk collect和forall语句来完成的。
 
bulk collect:用与取得批量数据,只能用户,select,fetch和dml返回字句
forall:适用于批量的dml
下面简单介绍下使用批量绑定和不使用批量绑定的性能对比的样例,一共两个例子:
测试表:
create table TESTA
(
  ID   NUMBER(6) primary key not null ,
  NAME VARCHAR2(10)
)
**********************************************************************************
例子1:
Forall:
使用批量绑定:
SQL> declare
  2   type id_table_type is table of number(6) index by binary_integer;
  3   type name_table_type is table of varchar2(10) index by binary_integer;
  4 
  5   id_table id_table_type;
  6   name_table name_table_type;
  7   start_time  number(10);
  8   end_time number(10);
  9 
 10  begin
 11 
 12  for i in 1..5000  loop
 13     id_table(i):=i;
 14     name_table(i):='name'||to_char(i);
 15  end loop;
 16 
 17  start_time:=dbms_utility.get_time;
 18  for i in 1..id_table.count loop
 19   insert into testa values(id_table(i),id_table(i))  ;
 20  e


相关文档:

Oracle插入数据时获取自增ID

自增字段:
表atable(id,a) id需要自增 首先建立一个序列:
create sequence seq_atable minvalue 1 maxvalue 999999999999999999 start with 1 increment by 1 nocache
有二种方式使用自增字段:
使用序列+触发器实现自增,插入语句不需要管自增字段
如:create or replace trigger trg_atable before insert on ......

转 SQL server 与Oracle开发比较

原文地址:http://www.cnblogs.com/wangxiaohuo/archive/2008/04/20/1162631.html
 
本文档主要从oracle与sql server语法上进行差异性比较,诸如两者在管理,性能,优化等方面的差异不作比较。
●概念上区别
   1.Oracle 是一种对象关系数据库管理系统(ORDBMS),而Sql server 只是关系型数据库管
&nbs ......

cmd中创建oracle用户

1.打开cmd,输入sqlplus,回车
2.输入用户名:system/manager@orcl as sysdba,回车
3.create user muzai identified by muzai;   //创建muzai用户,密码为muzai
4.grant dba to muzai;    //把dba的权限赋给muzai这个用户 ......

oracle 10 创建多个数据库登录各个EM的方法

一、Enterprise Manager 10g
默认情况下,安装Oracle时,会安装EM。它是位于数据库服务器上的HTTP服务器。
(1)启动EM
要确保OracleDBConsole<SID>服务已经启动。
启动服务:emctl start dbconsole
关闭服务:emctl stop dbconsole
访问EM:http://服务器名称:端口号/em
端口号可在$ORACLE_HOME\product\10. ......

Oracle基础

 
1、默认事例:
用户名:scott密码:tiger 主机字符串:本机可以为空
2、启动方法:
运行:sqlplus scott/tiger@lhd
3、SQLPLUS基本命令:
Desc:显示表、视图结构  desc 表名,视图
List:列出SQL缓冲区区中的一行或多行命令语句
Exit:退出
4、常用的数据字典(三种前缀:USER,ALL,DBA)
USER_TABL ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号