`
rongxr
  • 浏览: 8266 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
通常在SQL语句中给PL/SQL变量赋值叫做绑定(Binding),一次绑定一个完整的集合称为批量绑定(Bulk Binding)。 批量绑定(Bulk binds)可以通过减少在PL/SQL和SQL引擎之间的上下文切换(context switches )提高了性能. 批量绑定(Bulk binds)包括: (i) Input collections, use the FORALL statement,一般用来改善DML(INSERT、UPDATE和DELETE) 操作的性能 (ii) Output collections, use BULK COLLECT clause,一般用来提高查询 ...
http://www.itpub.net/thread-180363-1-1.html
       tom的oracle 9i&10g编程艺术中这样一句话:在一个非唯一索引中,oracle会把rowid作为一个额外列加到键上,使索引键为唯一; 先按索引键排序,再按rowid升序排序;在一个唯一索引中,不会再加rowid到索引键上。        这个怎么理解呢?唯一索引的索引键不保存rowid,那怎么通过rowid查找数据表中某行的值呢。下面的内容是通过google搜索得来,来源:http://www.itpub.net/thread-1287023-1-1.html 下面是一个完整的用例,使用了数据DUMP技术。 SQL> conn / as sysdba ...
tnsnames.ora设置怪问题 刚搞定困扰3天的oracle数据库连接问题,决定记录下,真是令人不爽啊。 这几天要连接现网终端设备数据库,连接方式还比较复杂。需要设置vpn环境,幸好之前设置过。配置好tnsnames.ora文件,打开plsql,开始连接。提示无法连接远程Oracle。尝试连接另外一台现网数据库,可以连通。尝试连接局域网内的研发数据库,可以连通。 NND,这么怪。我试着telnet Oracle服务器1521 端口,提示连接失败。 D:\Documents and Settings\Administrator>telnet  172.16.73.6 1521 ...
生产线数据库只有查询权限,需要从生产线下50W数据导入研发线,以下技巧可能使导入速度加快. 1.用PL/SQL连接上数据库,执行查询语句,导出数据格式为csv. 2.新建控制文件:input.ctl LOAD DATA INFILE 'F:\Users\xxxxx\Desktop\aa\tt.csv' truncate --操作类型,用truncate table来清除表中原来记录 INTO TABLE OS_BATCH_USER_his FIELDS TERMINATED BY "," --数据中每行记录用","分隔 ...
1、格式化SQL语句 在使用 PL/SQL Developer的SQL Window时,有时候输入的SQL语句太长或太乱,希望能用比较通用的写法格式话一下,这样看起来会好看些,也好分析; 使用方法:选中需要格式化的SQL语句,然后点击工具栏的PL/SQL beautifie ...
下面的sql执行了两次,发现两次的执行计划有不一致的地方。recursive calls(递归调用)第一次是284,第二次是0。consistent gets(一致性读),第一次是88,第二次是2。为什么?问了下c哥,第一次执行sql的时候,需要硬解析sql代码。第二次执行的时候share pool area已经存在执行计划,直接拿来用即可。这些知识在书里都看过,但还是需要实际操作才印象深刻啊。以后审核sql脚本的执行计划,需要执行2次。第一次是硬解析,第二次才真正是在share pool area共享池的消耗。 SQL> set autotrace traceonly SQL> ...
一、ORACLE10g自动收集统计信息--自动analyze 从Oracle Database 10g开始,Oracle在建库后就默认创建了一个名为GATHER_STATS_JOB的定时任务,用于自动收集CBO的统计信息。 这个自动任务默认情况下在工作日晚上10:00-6:00和周末全天开启。调用DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC收集统计信息。该过程首先检测统计信息缺失和陈旧的对象。然后确定优先级,再开始进行统计信息。 可以通过以下查询这个JOB的运行情况:     select * from Dba_Scheduler_Jobs wher ...
在查看SQL的执行计划的时候,有时候会看到INDEX SKIP SCAN,其实这个索引扫描路径会发生在多个列建立的复合索引上,如果SQL中谓词条件只包含索引中的部分列,并且这些列不是建立索引时的第一列时,就可 能发生INDEX SKIP SCAN。这里SKIP的意思是因为查询条件没有第一列或前面几列,被忽略了。 引用Oracle文档的例子,比如如下的表:     employees (sex, employee_id, address) 建立如下索引:     (sex, employee_id) 如果索引包含如下的数据:     ('F',98)     ('F',100)     ...
       逻辑读是指从内存中读,物理读是指从磁盘上读取数据;如果内存中存在相应的读取数据,那么直接从内存中读取,逻辑读的次数加1,如果不存在,则从磁盘上读到内存中,再从内存中读取,逻辑度次数加1,物理读次数也加1。需要注意的是,物理读非常消耗系统资源,一个物理读需要消耗8ms,而一秒可以处理20万个逻辑读。 1.物理读(physical read) 当数据块第一次读取到,就会缓存到buffer cache 中,而第二次读取和修改该数据块时就在内存buffer cache 了 以下是例子: 1.1  第一次读取 C:\Documents and Settings\Paul Yi&g ...
     1983年3月,oracle第3版,引入事务的概念,即SQL要么成功、要么失败,取决于事务是否提交;同事还引入了另一关键特性--写不阻塞读(通过回滚段中的数据实现查询和回滚事务,避免了读锁定),对于大访问量、高并发的应用,这点很重要。      1984年10月,oracle第4版,增加了读一致性(Read Consistency)的特性(即一个会话修改数据时,只要不提交,其他的会话就看不到这项修改,要记住这个概念,这是Oracle极重要的特性之一)。      1985年4月,oracle第5版,是首批支持Client/Server模式运行的RDBMS产品。5.1版,新增了分布式 ...
作者:Steven   Feuerstein 提高编写PL/SQL代码数量及质量的四个简单易行指导方针 我从1990年就开始编写PL/SQL代码。这意味着我已经编写了几万行的软件代码,但我确信,其中的绝大多数代码都非常拙劣,而且难以维护。 幸运地 ...
Global site tag (gtag.js) - Google Analytics