• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Oracle 9i索引

发布: 2007-7-02 11:08 | 作者: admin | 来源: | 查看: 10次 | 进入软件测试论坛讨论

领测软件测试网


    索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定位到要访问的记录所在的数据块,从而大大减少读取数据块的I/O次数,因此可以显著提高性能

索引的原理

    下面通过查询数据表“scott.student”的ROWID列为例,在【SQLPlus Worksheet】中执行下面的语句,查询结果如图7.38所示。
    ―――――――――――――――――――――――――――――――――――――
    select rowid,student_id,name,professional,birthday,director_id from scott.student;
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:\第7章\ selectrowid.sql

    以数据表“scott.student”的索引为例,下面的数据就是以“student_id”数据列为例建立索引后的部分数据。
    ―――――――――――――――――――――――――――――――――――――
    ROWID STUDENT_ID
    ------------------ ----------
    AAAH2oAAIAAAABSAAA 20020101
    AAAH2oAAIAAAABSAAJ 20020102
    AAAH2oAAIAAAABSAAK 20020103
    AAAH2oAAIAAAABSAAL 20020104
    AAAH2oAAIAAAABSAAN 20030102
    AAAH2oAAIAAAABSAAO 20030103
    AAAH2oAAIAAAABSAAP 20030104
    ―――――――――――――――――――――――――――――――――――――
    
Oracle 9i支持的索引

    Oracle 9i中的索引可以分为两大类:B-树索引和位图索引。

表7.9 B-树索引的分类

名称 含义
Non-Unique 非惟一索引,默认的B-树索引,索引列值可以不是惟一的
Unique 惟一索引,在创建索引时指定“UNIQUE”关键字可以创建惟一索引。当建立“主码约束条件”时也会建立惟一索引,索引列值是惟一的
Reverse Key 反向关键字索引,通过在创建索引时指定“REVERSE”关键字,可以创建反向关键字索引,被索引的每个数据列中的数据都是反向存储的,但仍然保持原来数据列的次序
Function-based 基于函数的索引,对数据列使用表达式,按照表达式结果来创建B-树索引的各节点,适合特定的,经常使用该表达式进行类似查询的数据表的索引的组织

    2. 位图索引
    对“scott.student”数据表的数据列“professional”建立位图索可能的实例如下。
    ―――――――――――――――――――――――――――――――――――――
    记录号 professional取值 位图索引值
    1      软件工程         1
    2      计算机安全       2
    3      图形图像         3
    7      Web安全          2
    ―――――――――――――――――――――――――――――――――――――

主码自动建立的索引

    (1)如图7.40所示。

    (2)出现如图7.41所示的编辑索引的【一般信息】选项卡。


如何创建索引

    (1)如图7.42所示。

    (2)出现如图7.43所示的创建索引的【一般信息】选项卡。

    (3)切换到图7.44所示的创建索引的【分区】选项卡。
    (4)切换到图7.45所示的创建索引的【存储】选项卡。

    (5)切换到图7.46所示的创建索引的【选项】选项卡。
    (6)成功创建索引后出现如图7.47所示界面。

    (7)在【企业管理器】中可以查看创建的索引,如图7.48所示。

    (8)上述创建索引对应的SQL代码如下。
    ―――――――――――――――――――――――――――――――――――――
    CREATE INDEX "SCOTT"."姓名字段索引"
        ON "SCOTT"."STUDENT"("NAME")
        TABLESPACE "INDX";
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:\第7章\ createindex.sql。
    (9)读者也可以直接在【SQLPlus Worksheet】中执行createindex.sql文件完成索引的创建,如图7.49所示。


如何删除索引

    (1)如图7.50所示。
    (2)出现如图7.51所示的【索引删除确认】界面。

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网