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

oracle执行计划的一些概念

oracle执行计划的一些概念(基础的记忆) 
开始学习ORACLE语句优化,从执行计划开始,先熟悉这些名词以及基本含义,记忆在我脑子里,2010-04-10
Rowid:系统给oracle数据的每行附加的一个伪列,包含数据表名称,数据库id,存储数据库id以及一个流水号等信息,rowid在行的生命周期内唯一。
Recursive sql:为了执行用户语句,系统附加执行的额外操作语句,譬如对数据字典的维护等。
Row source(行源):oracle执行步骤过程中,由上一个操作返回的符合条件的行的集合。
Predicate(谓词):where后的限制条件。
 
Driving table(驱动表):又称为连接的外层表,主要用于嵌套与hash连接中。一般来说是将应用限制条件后,返回较少行源的表作为驱动表。在后面的描述中,将driving table称为连接操作的row source 1。
Probed table(被探查表):连接的内层表,在我们从 driving table得到具体的一行数据后,在probed table中寻找符合条件的行,所以该表应该为较大的row source,并且对应连接条件的列上应该有索引。在后面的描述中,一般将该表称为连接操作的row source 2.
Concatenated index(组合索引):一个索引如果由多列构成,那么就称为组合索引,组合索引的第一列为引导列,只有谓词中包含引导列时,索引才可用。
可选择性:表中某列的不同数值数量/表的总行数如果接近于1,则列的可选择性为高。
Oracle访问数据的存取方法:
Full Table Scan (FTS全表扫描):通过设置db_block_multiblock_read_count可以设置一次IO能读取的数据块个数,从而有效减少全表扫描时的IO总次数,也就是通过预读机制将将要访问的数据块预先读入内存中。只有在全表扫描情况下才能使用多块读操作。
Table access by rowed(通过rowid存取表,rowid lookup):由于rowid中记录了行存储的位置,所以这是oracle存取单行数据的最快方法。
Index scan(索引扫描index lookup):在索引中,除了存储每个索引的值外,索引还存储具有此值的行对应的rowid值,索引扫描分两步(1),扫描索引得到rowid;(2),通过 rowid读取具体数据。每步都是单独的一次IO,所以如果数据经限制条件过滤后的总量大于原表总行数的5%-10%,则使用索引扫描效率下降很多。而如果结果数据能够全部在索引中找到,则可以避免第二步操作,从而加快检索速度。
根据索引类型与where限制条件的不同,有4种类型的索引扫描:
    Index unique scan(索引唯一扫描)


相关文档:

oracle监听和实例启动顺序浅谈

     经常用oracle的人对下面的这条信息肯定不会陌生:“监听程序当前无法识别链接描述符中请求的服务”。其实产生这个问题的根本原因不是监听没有起来,而是监听没有监听你要连接的oracle实例。
    大家都明白,oracle只有两者兼备才能向外界提供服务:一个是监听,用于接 ......

Oracle Purchasing不能查看PO和開PO

      Oracle Purchasing不能查看PO或開PO,並且用戶有權限開PO。這樣情況可能有不少同仁也遇上類似問題。具體情況如下圖:
     
      首先,查看用 ......

ORACLE数据库傻瓜手册

Oracle傻瓜手册
  
  Oracle8以8.1.5为界分为普通版本和internet版本。普通版版本号8.0.x,接触较多的是8.0.5;internet版版本号包括8.1.5(Release 1),8.1.6(Release 2),8.1.7(Release 3)。普通版简称Oracle 8,internet版简称Oracle 8i。假如不作非凡说明,文中凡出现Oracle 8i均指8.1.7版。
  Oracle9 ......

oracle 存储过程实现分页

  用oracle数据库的存储过程实现返回结果集并实现分页的功能。
用户传入参数
一下是转别人的代码
--包声明
create or replace package p_page is
  -- Author  : PHARAOHS
  -- Created : 2006-4-30 14:14:14
  -- Purpose : 分页过程
  TYPE type_cur IS REF CURSOR;  &n ......

Oracle中用Rowid查找和删除重复记录

Oracle中用Rowid查找和删除重复记录
  平时工作中可能会碰到当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能创建唯一索引,发现重复记录。
  下面总结一下几种查找和删除重复记录的方法(以表CZ为例):
  表CZ的结构如下:
  SQL> desc cz
  Name Null? Type
  ---------- ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号