oracle数据库索引

oracle数据库索引

1、b-tree索引

2、位图索引

3、函数索引

3、哈希索引:不适合模糊查询和范围查询(包括like,>,<,between……and等),由于 Hash 索引比较的是进行 Hash 运算之后的 Hash 值,所以它只能用于等值的过滤,不能用于基于范围的过滤,因为经过相应的Hash 算法处理之后的 Hash 值的大小关系,并不能保证和Hash运算前完全一样;

索引的创建语法: 

CREATE UNIUQE | BITMAP INDEX <schema>.<index_name> 

      ON <schema>.<table_name> 

           (<column_name> | <expression> ASC | DESC, 

            <column_name> | <expression> ASC | DESC,...) 

     TABLESPACE <tablespace_name> 

     STORAGE <storage_settings> 

     LOGGING | NOLOGGING 

    COMPUTE STATISTICS 

     NOCOMPRESS | COMPRESS<nn> 

     NOSORT | REVERSE 

     PARTITION | GLOBAL PARTITION<partition_setting> 

相关说明 

1) UNIQUE | BITMAP:指定UNIQUE为唯一值索引,BITMAP为位图索引,省略为B-Tree索引。 

2)<column_name> | <expression> ASC | DESC:可以对多列进行联合索引,当为expression时即“基于函数的索引” 

3)TABLESPACE:指定存放索引的表空间(索引和原表不在一个表空间时效率更高) 

4)STORAGE:可进一步设置表空间的存储参数 

5)LOGGING | NOLOGGING:是否对索引产生重做日志(对大表尽量使用NOLOGGING来减少占用空间并提高效率) 

6)COMPUTE STATISTICS:创建新索引时收集统计信息 

7)NOCOMPRESS | COMPRESS<nn>:是否使用“键压缩”(使用键压缩可以删除一个键列中出现的重复值) 

8)NOSORT | REVERSE:NOSORT表示与表中相同的顺序创建索引,REVERSE表示相反顺序存储索引值 

9)PARTITION | NOPARTITION:可以在分区表和未分区表上对创建的索引进行分区 

转载于:https://www.cnblogs.com/BonnieWss/p/11016710.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值