[Oracle] B树索引及其子类型

    xiaoxiao2021-12-12  6

    B树索引

    Oracle默认的索引类型是B树索引。对于高基数的列值,该索引类型是非常有效的。在不指定任何选项的情况下,create index 语句创建B树索引。

    create index index_name on table_name (col1, col2, ...);

    索引组织表

    索引组织表(IOT)在一个B树索引结构中存出表行的全部内容。使用索引组织表,能缩短具有精确匹配和主键范围搜索的查询时间。

    create table table_name(col1, col2, ...) organization index;

    唯一索引

    当插入数据到相应的表时,唯一索引将保证插入到表中的非空值都是不同的。

    create unique index index_name on table_name(col1, col2, ...);

    反向键索引

    反向键索引对于平衡有大量顺序插入的索引的I/O是非常有用的。当插入大量顺序值时,如果使用反向键索引,就可以避免I/O几种在索引内的某个物理磁盘位置。

    create index index_name on table_name(col1, col2, ...) reverse;

    不能对位图索引或索引组织表指定 reverse 。另外,反向键索引不能是降序类型

    减压缩索引

    键压缩有助于减少前导列经常重复的组合索引的存出和I/O要求

    create index index_name on table_name(col1, col2, ...) compress 2;

    降序索引

    默认情况下,Oracle用升序方式存储B树索引。如果在一个列值为数值型数据的列上创建索引,最小的数值将首先出现在索引最左边的叶子节点上,而最大的数值将被存储在最右边的叶子节点上。

    create index index_name on table_name (col1 desc);
    转载请注明原文地址: https://ju.6miu.com/read-900144.html

    最新回复(0)