近日在做报表的时候,有时候cpu利用率会很高,查看了一下发现主要是一些全表扫描(full scan) , 于是
了解了一下这个概念,顺带温习了一下oracle索引的相关知识,记录如下:
1. rowno与rowid
前者是oracle对select出来的数据按照顺序分配的一个逻辑编号。
后者是一个伪列,基本上每行记录生成之后就有一个rowid并且不再变化
2. B树索引与Bitmap索引
B树索引实际就是一个平衡树索引,叶子节点上是key:rowid这种记录信息,每个索引条目指向一行。
Bitmap索引是对基数比较小的key值,每个key值能索引一个或多个记录(一行记录根据值对每个key标记为0或者1).
也正是如此,bitmap的索引列如果有更新时,需要锁定key值与待更新的key值相同的记录。因此容易引起死锁问题。
所以位图所谓不适合与索引字段频繁更新的表。最好应用在数据仓库中。
3. 全表扫描
首先需要明确的是oracle有大表和小表之分。
大表如果有必要那么通过索引检索效率会高很多。小表的话直接全表扫描也是效率很高的。
大表发生全表扫描的原因是没有索引或索引失去作用。
B树索引如果遇到<>,is null ,is not null等条件时可能会失去作用。
4. oracle的一些基本概念
block>extent>segment
block通常为2k,4k,8k....
extent 默认size为1M(uniform extent)
oracle推荐的extent管理方式是LMT(locally managed tablespace).通过
在tablespace的头里面维护extent的占用和空闲信息来提高效率。
(相反的还有Dictionary managed tablespace,通过数据字典的方式维护相关信息)。
可以通过表dba_tablespaces来了解tablespace的信息。
每个extent下面的block必须是连续的地址空间。
每个segment有多个extent组成,而且可以根据需要调整,所以segment下面的extent不一定是连续的。
此外,每条记录可能会处于一个或多个block里面,而block也是oracle的基本操作unit,哪怕只查找一条记录,也会
读取至少一个block的内容。
5. 可以通过 set autotrace traceonly explain 来查看sql的执行到底是全表扫描还是通过索引查找。
6. 可以通过,user_indexes,user_ind_columns了解系统(当前用户下)的具体索引情况。
分享到:
相关推荐
Oracle for Tiptop 系统培训教程
tiptop erp linux和oracle培訓PPT,很不錯的學習資料
Oracle_for_Tiptop_系统培训教程,希望对大家有帮助!
TIPTOPGP 技术移转可以一看,和大家共享
Oracle 体系及架构 Oracle 内存及进程 Oracle 数据储存 Oracle 数据库启动和关闭 Oracle 表空间管理 Oracle 用户管理
Oracle-for-Tiptop-系统培训教程-PPT课件.ppt
You’ll learn how to understand Oracle database architecture, set up and manage an Oracle database, and keep it running in tiptop form. Oracle 11g For Dummies covers: The building blocks behind the ...
tiptop管理员、oracle数据库管理
TIPTOP ERP不完全实施开发手册,里面有常用linux命令,TIPTOP、JAVA、jsp、oracle常用命令
Informix错误代码 0 成功。 操作成功。当 SQL 语句成功地执行时,数据库服务器把这个 SQLCODE 值返回给应用 程序。 100 没有发现匹配的记录。...数据库服务器不能寻找更多的数据。这个信息是ANSI 标准的 SQLCODE ...
Oracle简版客户端,用于Excel与Oracle连接;内附安装说明
TIPTOP ERP 不完全实施开发手册,包含以下内容: 1、Linux基础操作 2、Oracle SQL 3、Genero Studio 4GL开发 4、TIPTOP ERP 二次开发及各模块手册 5、JAVA基础 6、JSP基础
TIPTOP培訓課程之培訓教材- 大班课 ORACLE部分-5
她是IOUG Best Practices Tip Booklet的特约作者.Michelle积极参加IOUG活动,是特殊兴趣组的负责人.在技术会议和用户组会议上她乐于展现和分享有关Oracle数据库主题的思想.她的Email是michelle_malcher@ioug.org. ...
The tip and warning icons were drawn by Christopher Bing. This colophon was written by Linley Dolby. The online edition of this book was created by the Safari production group (John Chodacki, Becki ...
包括linux的基础语法,vi教程,oracle SQL教程,还有BDL语言语法教程
正式区DB(172.16.13.228) / 测试区DB(172.16.13.224) -- su – root/tiptop -- su – oracle -- echo $ORACLE_SID #检查当前实例 -- export ORACLE_SID=topprod(正式区)/ export ORACLE_SID=topprod(测试区) #设置...
TIPTOP培訓課程的培訓教材資料- 大班课 ORACLE部分-4
TIPTOP 培訓課程的相關教材資料 - 大班课 ORACLE部分-3
此版本是由李艺辉编写(资源来源于第一点),我在学习中通过多次尝试解决了CHM无法正常打开的问题。...2、Oracle SQL 3、Genero Studio 4GL开发 4、TIPTOP ERP 二次开发及各模块手册 5、JAVA基础 6、JSP基础