(转)ORACLE 中IN和EXISTS比较
原文:http://www.cnblogs.com/yf520gn/archive/2009/01/12/1374359.htmlEXISTS的执行流程 select * from t1 where exists ( select null from t2 where y = x ) 可以理解为: for x in ( select * from t1 ) loop if ( exists ( select null from t2 where y = x.x ) then OUTPUT THE RECORD end if end loop 对于in 和 exists的性能区别: 如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in,反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists。 其实我
SQL语句处理的过程(SQL性能调整)
第1章 SQL语句处理的过程 在调整之前我们需要了解一些背景知识,只有知道这些背景知识,我们才能更好的去调整sql语句。本节介绍了SQL语句处理的基本过程,主要包括: · 查询语句处理 · DML语句处理(insert, update, delete) · DDL 语句处理(create .. , drop .. , alter .. , ) · 事务控制(commit, rollback) SQL 语句的执行过程(SQL Statement Execution) 图3-1 概要的列出了处理和运行一个sql语句的需要各个重要阶段。在某些情况下,Oracle运行sql的过程可能与下面列出的各个阶段的顺序有所不同。如DEFIN
(转)使用wget下载OTN上的Oracle
作者:Ghostbb链接:http://ghostbb.javaeye.com/blog/3549771. 下载lynx(一个基于命令行的浏览器) apt-get install lynx 2. 设置lynx配置文件 在当前用户的跟目录创建一个lynx.cfg文件,内容如下: SET_COOKIES:TRUEPERSISTENT_COOKIES:TRUEACCEPT_ALL_COOKIES:TRUECOOKIE_FILE:~/.lynx_cookiesINCLUDE:/etc/lynx.cfg [@more@]3. 使用lynx访问你需要下载的Oracle文件(这里我要下载Oracle 10 x64版本地址为:http://download.oracle.com/otn/linux/oracle10g/10201/10201_database_linux_x86_64.cpio.gz) lynx -cfg=./lynx.
(转)索引扫描还是全表扫描(Index Scan Or Full Table Scan)
作者:Sky.Jian | 可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明 链接:http://www.jianzhaoyang.com/database/index_scan_or_full_table_scan在大多数时候,大家都会认为Sql语句中走Index Scan比Full Table Scan快,我前面也走进了这样的误区(对Index Scan的理解不够)。这两天重新复习了一下这方面内容,并整理了一下。[@more@]当Oracle Optimizer(优化器)没有选择Index Scan而选择了Full Table Scan的时候一般会是由两种情况: 1、表没有Analyze,Optimizer得不到statistics(统计)数据,
sqlplus登陆环境设置(glogin.sql)
$ vi $ORACLE_HOME/sqlplus/admin/glogin.sql (登陆sqlplus后会自动执行) 或 $ vi ~/login.sql (登陆sqlplus后会自动执行) 或 $ vi ~/.login.sql (登陆sqlplus后得手工执行) 增加以下内容,sqlplus登陆时会自动读取 [@more@]----------------------------------------------------------------------------------- --定义缓冲编辑器为vi define_editor=vi --使DBMS_OUTPUT有效,并设置成最大buffer,并防止"吃掉"最前面的空格 set serveroutput on size 1000000 format wrapped --设置一行可以
Oracle监听器的静态注册与动态注册,以及DB_DOMAIN问题
从Oracle8i开始,Oracle可以不需要在监听器SID_LIST中配置需要监听的Oracle实例,PMON会自动动态注册到监听器,当然,这是有条件限制的,如:监听器使用缺省名称或在local_listener、remote_listener中配置,端口1521,TCP协议。另外,如想使用动态注册,请注意检查/etc/hosts中的机器名及IP是否正确。如果你设置了DB_DOMAIN,需要注意以下几点:[@more@]1、静态注册时,GLOBAL_NAME应该是SERVICE_NAMES+DB_DOMAIN。如下 (SID_DESC = (GLOBAL_NAME = oradb.com) (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(转)Oracle DBA在新环境下必须了解的事情
转载自IT168 [ http://www.it168.com/ ] 本文链接:http://tech.it168.com/a2009/0525/576/000000576908.shtml 作者:IT168 Toms_zhang面对一个全新的环境,作为一个Oracle DBA,首先应该了解什么?[@more@] 在这里,不谈那些大的方面,比如了解整个IT环境整体情况,假设你已经知道了这些,接下来需要面对的就是这些一个个活生生的database了.这里总结了一些一般的思路来面对一个全先的database,从而快速了解你面对的环境概要. 这也不是教科书,只是一些心得和体会,对于这种问题,每个人的认识的角度是不一样的.欢迎大家继续补充完善.
(转)Dataguard配置Step by Step
转自http://www.eygle.com/archives/2004/10/dataguard-step-by-step.html[@more@]1.主节点备份并生成备用数据库控制文件 设置主节点为force Logging模式(为了双向切换,建议备用节点也设置为force logging模式)ALTER DATABASE FORCE LOGGING;设置主节点为归档模式登陆主节点,进行数据库备份,并生成备用数据库控制文件Last login: Mon Aug 9 16:46:47 2004 from 172.16.32.65 [root@standby root]# su - oracle [oracle@standby oracle]$ sqlplus "/ as sysdba" SQL*Plus: Release 9.2.0.4.0 - Production on Mon Aug 16 10:16:
(转)提高IMP速度的几个方法
http://www.itpub.net/464648.html提高IMP速度的几个方法 这篇Tip来自于Jonathan Lewis的站点。原文链接如下:http://www.jlcomp.demon.co.uk/faq/imp_slow.html[@more@]提高IMP速度的几个方法 这篇Tip来自于Jonathan Lewis的站点。原文链接如下:http://www.jlcomp.demon.co.uk/faq/imp_slow.html为什么IMP速度慢?1。IMP作了大量的跟普通方式一样的insert2。IMP时候创建索引通常是logging的,产生了大量的undo和redo如何提高IMP的速度1。不建议使用commit参数,因为当imp失败的时候,会导致很多后续的麻烦事儿2。增大buffer参数值,以便
(转)批量绑定(bulk binds):FOR循环与FORALL的性能比较
通常在SQL语句中给PL/SQL变量赋值叫做绑定(Binding),一次绑定一个完整的集合称为批量绑定(Bulk Binding)。批量绑定(Bulk binds)可以通过减少在PL/SQL和SQL引擎之间的上下文切换(context switches )提高了性能.[@more@]批量绑定(Bulk binds)包括:(i) Input collections, use the FORALL statement,一般用来改善DML(INSERT、UPDATE和DELETE) 操作的性能(ii) Output collections, use BULK COLLECT clause,一般用来提高查询(SELECT)的性能FORALL的语法如下:FORALL index IN lower_bound..upper_bound sql_statement;下面是一个
关于diag进程的问题
今天RAC的一台机突然无法执行一些大的操作了,但数据库状态正常,经检查发现,原来是本机磁盘满了。晕,还有几十G的空间,怎么会一下子就满了呢?查找后发现原来是ykrac1_diag_4529.trc文件一下子增长到了20多G,里面全是些重复的信息,看不懂。[@more@]GCS RESOURCE 0xeab368e4 hashq [0xe9b33574,0xefe3ad98] name[0xfc32d.90000] pkey 53578grant 0x5fffbf88 cvt (nil) send (nil),0 write (nil),0@65535flag 0x0 mdrole 0x1 mode 1 scan 0 role LOCALdisk: 0x0000.00000000 write: 0x0000.00000000 cnt 0x0 hist 0x0xid 0x0000.000.00