【转】Oracle索引的类型
数据库的应用类型分为
- OLTP(OnLine Transaction Processing ,联机事务处理):OLTP是传统关系型数据库的主要应用,其主要面向基本的、日常的事务处理,例如银行交易。
- OLAP(OnLine Analysis Processing,联机分析处理):OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
转自:http://blog.csdn.net/kingzone_2008/article/details/8182792
数据存储方式上分类:B-树索引、反向索引、位图索引
- B-树索引建立在重复值很少的列上
- 位图索引建立在重复值很多、不同值相对固定的列上。
索引列的个数分:单列索引、复合索引;
基于函数的索引
- -- 基本结构
- CREATE [UNIQUE] INDEX index_name
- ON table_name (function1, function2, . function_n)
- [ COMPUTE STATISTICS ];
- -- 例子
- CREATE INDEX supplier_idx
- ON supplier (UPPER(supplier_name));
位图索引
目前大量使用的索引一般主要是B-Tree索引,在索引结构中存储着键值和键值的RowID,并且是一一对应的。而位图索引主要针对大量相同值的列而创建,例如:类别,操作员,部门ID等。位图索引由于只存储键值的起止Rowid和位图,占用的空间非常少。
位图索引非常适合于数据仓库应用,因为数据仓库处理的是大量即席查询,几乎没有并发的事务。位图索引提供以下优势:
- 缩短了即席查询的相应时间
- 比其他索引技术节省存储空间
- 高性能
- 高效的并行DML和加载
位图索引不适合OLTP应用,OLTP应用需要处理大量并发的修改数据的事务。位图索引更适合于基于数据仓库的决策支持系统,因为决策支持系统主要是查询数据而不是修改数据。位图索引页不适合于主要用于大于或小于比较的列,只适合于等式查询,特别是AND,OR和NOT操作;大于和小于比较更适合采用B-tree索引。
- CREATE BITMAP INDEX 索引名 ON 表名 (列名);
Oracle索引的实现
果将这些记录根据它们的某一列组织成B-tree结构,一个叶节点代表一条数据,那么从n行的表中查询一条记录的平均用时为log(n)。这就是Oracle数据库索引的基本原理。
B-tree的分支节点包含到其子节点的索引。最低层节点(叶节点)包含了索引数据值和其对应的rowid,rowid用于定位对应的数据表行。
【转】Oracle索引的类型的更多相关文章
- oracle 索引扫描类型的分类与构造
1. INDEX RANGE SCAN--请记住这个INDEX RANGE SCAN扫描方式drop table t purge;create table t as select * from dba ...
- Oracle索引梳理系列(八)- 索引扫描类型及分析(高效索引必备知识)
版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...
- Oracle 索引扫描的4种类型
根据索引的类型与where限制条件的不同,有4种类型的Oracle索引扫描: 3,4可归一种 (1) 索引唯一扫描(index uniquescan) (2) 索引范围扫描(index range s ...
- Oracle 索引扫描的五种类型
之前在讨论CBO和RBO的时候提到了索引扫描的几种类型. Oracle Optimizer CBO RBO http://blog.csdn.net/tianlesoftware/archive/20 ...
- 【转】Oracle索引HINT的使用
转自:Oracle索引HINT的使用 存储在数据库中数据的分布情况开发人员或管理员比Oracle优化器更加的清楚,在优化器不能作出最有查询路径选择的情况下,使用HINT(提示)人为的固定查 ...
- Oracle索引梳理系列(七)- Oracle唯一索引、普通索引及约束的关系
版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...
- Oracle索引梳理系列(二)- Oracle索引种类及B树索引
版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...
- oracle 索引失效原因及解决方法
oracle 索引失效原因及解决方法 2010年11月26日 星期五 17:10 一.以下的方法会引起索引失效 1,<>2,单独的>,<,(有时会用到,有时不会)3,like ...
- 详谈 oracle 索引 (笔记)
1.oracle索引空值问题 当在有空值得列上建立单列索引时,如果搜索条件为 is null 在解释计划中可以看到,对于此列oracle并没有使用索引查询: 但是当建立的是多列索引是,就会按照索引来进 ...
随机推荐
- 检查日期是否为节假日api
http://www.easybots.cn/api/holiday.php?d=20160104 返回值: 工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2: 检查一个日期是否 ...
- css3 FlexBox 弹性布局
Flex 弹性布局 这个是css3中新添加的内容,现在已经支持所有的浏览器,利用Flex布局,可以简便.完整.响应式地实现各种页面布局. 注意:在设置 flex 后,子元素的flaot ,clear, ...
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
@property (nonatomic, assign) NSString *title; 什么是assign,copy,retain之间的区别? assign: 简单赋值,不更改索引计数(Refe ...
- 自动化运维 Expect
Mac 下载:brew install homebrew/dupes/expect expect : -> 自动化脚本工具: 用于处理交互命令; #注意 调用时并不是使用的 /bin/b ...
- Python之mmap内存映射模块(大文本处理)说明
背景: 通常在UNIX下面处理文本文件的方法是sed.awk等shell命令,对于处理大文件受CPU,IO等因素影响,对服务器也有一定的压力.关于sed的说明可以看了解sed的工作原理,本文将介绍通过 ...
- 应用商店后台MIS的一些思考
1.有些签名验证的工作应该在开发者上传APP的时候进行校验: 1)如果是更新新版本(包名packagename一致),那么需要验证两个APK的包的签名是否一致,不一致的,应该限制上传,除非先下架旧的A ...
- mysql 5.7.14 免安装配置方法教程
仅供参考 一.下载 1. 进入mysql官网,下载Mysql-5.7.14,下载地址:http://dev.mysql.com/downloads/mysql/ 2.将下载好的文件解压到自定义目录 二 ...
- thinkphp导入导出excel表单数据
在PHP项目经常要导入导出Excel表单. 先去下载PHPExcel类库文件,放到相应位置. 我在thinkphp框架中的位置为ThinkPHP/Library/Org/Util/ 导入 在页面上传e ...
- 快速掌握、学习HTML的方法
链接 超级链接用<a>标签表示,href属性指定了链接到的地址.<a>标签可以包含文本,也可以包含图片. 点击查看效果 <a href="http://deer ...
- 【Java EE 学习 81】【CXF框架】【CXF整合Spring】
一.CXF简介 CXF是Apache公司下的项目,CXF=Celtix+Xfire:它支持soap1.1.soap1.2,而且能够和spring进行快速无缝整合. 另外jax-ws是Sun公司发布的一 ...