oracle索引介绍(图文详解)

针对数据库查询而言,数据库索引是一个必选择项,但针对如今的各种各样大中型数据库查询而言,数据库索引能够 进一步提高数据库查询的特性,以致于它变成了数据库查询不能缺乏的一部分。

数据库索引归类:

逻辑性归类

singlecolumnorconcatenated  对一列或两列建所引

uniqueornonunique  唯一的和非唯一的所引,也就是对某一列或几行的键值(key)是不是唯一的。

Function-based  根据一些涵数数据库索引,当实行一些涵数时必须对其开展测算,能够 将一些涵数的数值事前储存并多方面数据库索引,提高工作效率。

Doman  数据库索引数据库查询之外的数据信息,应用相对性较少

物理学归类

B-Tree:normalorreversekeyB-Tree数据库索引也是大家传统式上普遍所了解的数据库索引,它又可以分成一切正常所引和倒序数据库索引。

Bitmap:位图文件所引,后边会细讲

B-Tree数据库索引

B-Treeindex也是大家传统式上普遍所了解的数据库索引。B-tree(balancetree)即平衡树,左右两支系相对性均衡。

B-Treeindex

oracle数据库索引详细介绍(文图详细说明)

Root为根节点,branch为支系连接点,leaf到最下边一层称之为叶子节点。每一个连接点表明一层,当搜索某一数据信息时先读根节点,重读支连接点,最终寻找叶子节点。叶子节点会储放indexentry(数据库索引通道),每一个数据库索引通道相匹配一条纪录。

Indexentry的构成部分:

Indexentryentryheader  储放一些操纵信息内容。

Keycolumnlength  某一key的长短

Keycolumnvalue  某一个key的值

ROWID  表针,实际偏向于某一个数据信息

创建索引:

复制代码编码以下:

账号登录:

SQL>connas1/as1

Connected.

创建表:

SQL>createtabledex(idint,sexchar(1),namechar(10));

Tablecreated.

向表格中插进1000条数据信息

SQL>begin

foriin1..1000

loop

insertintodexvalues(i,'M','chongshi');

endloop;

commit;

end;

/

PL/SQLproceduresuccessfullycompleted.

查询表纪录

SQL>select*fromdex;

IDSENAME

--------------------------------

.........

Mchongshi

Mchongshi

Mchongshi

Mchongshi

Mchongshi

Mchongshi

Mchongshi

Mchongshi

Mchongshi

Mchongshi

rowsselected.

创建索引:

SQL>createindexdex_idx1ondex(id);

Indexcreated.

注:对表的第一列(id)创建索引。

查询建立的表与数据库索引

SQL>selectobject_name,object_typefromuser_objects;

OBJECT_NAMEOBJECT_TYPE

--------------------------------------------------------------------------------

DEXTABLE

DEX_IDX1INDEX

数据库索引分离出来于表,做为一个独立的个人存有,除开能够 依据单独字段名创建索引,还可以依据两列创建索引。Oracle规定创建索引数最多不能超出32列。

复制代码编码以下:

SQL>createindexdex_index2ondex(sex,name);

Indexcreated.

SQL>selectobject_name,object_typefromuser_objects;

OBJECT_NAMEOBJECT_TYPE

--------------------------------------------------------------------------------

DEXTABLE

DEX_IDX1INDEX

DEX_INDEX2INDEX

这儿必须了解:

撰写一本书,仅有章节目录网页页面定好以后再设定文件目录;sql索引也是一样,仅有先插进好数据信息,再创建数据库索引。那麼大家事后对数据库查询的內容开展插进、删掉,数据库索引也必须随着转变。但数据库索引的改动是由oracle全自动进行的。

oracle数据库索引详细介绍(文图详细说明)

上边这幅图能更为清楚的叙述数据库索引的构造。

跟连接点纪录0至50条数据信息的部位,支系连接点开展分拆纪录0至10.......42至50,叶子节点纪录每第数据信息的长短合值,并由表针偏向实际的数据信息。

最终一层的叶片节是双重连接,他们是被井然有序的连接起來,那样才可以迅速锁住一个数据信息范畴。

如:

复制代码编码以下:


转载请说明出处内容投诉
八爷源码网 » oracle索引介绍(图文详解)