欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 海量数据处理

程序员文章站 2022-06-10 19:18:31
...

在Oracle数据库中,索引按照索引机制的不同,可以分为三种。

在Oracle数据库中,索引按照索引机制的不同,可以分为三种。

1. B-Tree索引 B-Tree index

应用场景: OLTP 使用比较多,处理键值重复率比较低的字段比较适合使用B-Tree索引,处理效率极高。反之当键值重复率很高时,B-Tree索引的效率会非常的低效。

在Oracle中主键会默认加上B-Tree索引。在Oracle的主键和唯一性约束上 使用B-Tree索引

B-Tree索引又可以分为:唯一索引、组合索引、反向键索引、基于函数的索引。

唯一键索引:1、唯一键索引确保在定义的索引列中没有重复值, 2、Oracle自动在表的主键列上创建唯一键索引。 3、使用CREATE UNIQUE INDEX语句创建唯一键索引。

组合索引: 1、组合索引在表的多个列上创建的索引。2、索引中列的顺序是任意的。3、如果SQL语句的WHERE子句中引用了组合索引的所有列或大多数列,则可以提高检索速度。

反向键索引:1、反向键索引反转索引列键值的每个字节。2、通常建立在列的值是连续增值的,目的是为了使数据能够均匀的分布在整索引上。3、创建时使用REVERSE关键字。

基于函数的索引:1、基于一个或多个列上的函数或表达式创建的索引。2、表达式中不能出现聚合函数。3、不能在LOB类型的列上创建。4、创建时必须有QUERY REWRITE权限。

2. 位图索引 Bitmap index

应用场景:1)处理键值重复率比较高的字段比较适合使用。2)比B-Tree索引更节省空间。3)在OLAP系统中使用比较频繁。当一个表上某个(几个)字段的数值有明显的大量重复时,比如字段是国家、地区、性别(世界上,或者该字段为其他的一些标识性信息。4)特定类型的查询下性能很高。比如,要对一个结果集进行count操作,特别是在SQL语句的条件部分,在很多字段之间存在着逻辑“与”、“或”运算的查询方式。

劣势:1、索引列上不适合频繁的进行DML操作。2、值重复率比较低的情况不适合使用。 3、 位图索引适合在数据仓库中使用,在OLTP中不常使用。

create bitmap index index_name on table_name(column_name);

3. 全文索引 Text index

应用场合: 属于数据仓库范畴,,在OLTP系统中使用并不广泛。全文索引的优点在于可以对词汇的进行快速搜索。

劣势 :全文索引要 占用 大量的空间

context类型的全文索引是 不基于事务的 无法 实现数据和索引同步。

下一篇:Oracle海量数据处理-并行

Oracle 海量数据处理