oracle索引介绍(图文详解)

对于数据库来说,索引是一个必选项,但对于现在的各种大型数据库来说,索引可以大大提高数据库的性能,以至于它变成了数据库不可缺少的一部分。
索引分类:
逻辑分类
single column or concatenated     对一列或多列建所引
unique or nonunique    唯一的和非唯一的所引,也就是对某一列或几列的键值(key)是否是唯一的。
Function-based    基于某些函数索引,当执行某些函数时需要对其进行计算,可以将某些函数的计算结果事先保存并加以索引,提高效率。
Doman    索引数据库以外的数据,使用相对较少
物理分类
B-Tree :normal or reverse key   B-Tree索引也是我们传统上常见所理解的索引,它又可以分为正常所引和倒序索引。
Bitmap  : 位图所引,后面会细讲
B-Tree 索引                                                                                
  B-Tree index 也是我们传统上常见所理解的索引。B-tree (balance tree)即平衡树,左右两个分支相对平衡。
B-Tree index


Root为根节点,branch 为分支节点,leaf 到最下面一层称为叶子节点。每个节点表示一层,当查找某一数据时先读根节点,再读支节点,最后找到叶子节点。叶子节点会存放index entry (索引入口),每个索引入口对应一条记录。

Index entry 的组成部分:
Indexentry entry  header    存放一些控制信息。
Key column length     某一key的长度
Key column value      某一个key 的值
ROWID    指针,具体指向于某一个数据
创建索引:

用户登录:

SQL> conn as1/as1

Connected.

创建表:

SQL> create table dex (id int,sex char(1),name char(10));

Table created.

向表中插入1000条数据

SQL> begin

 for i in 1..1000

 loop

 insert into dex values(i,'M','chongshi');

 end loop;

 commit;

 end;

 /

PL/SQL procedure successfully completed.

查看表记录

SQL> select * from dex;

        ID SE NAME

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

       ... . .....

M  chongshi

M  chongshi

M  chongshi

M  chongshi

M  chongshi

M  chongshi

M  chongshi

M  chongshi

M  chongshi

M  chongshi

rows selected.

创建索引:

SQL> create index dex_idx1 on dex(id);

Index created.

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

查看创建的表与索引

SQL> select object_name,object_type from user_objects;

OBJECT_NAME                  OBJECT_TYPE

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

DEX                           TABLE

DEX_IDX1                      INDEX

以上是 oracle索引介绍(图文详解) 的全部内容, 来源链接: utcz.com/z/351341.html

回到顶部