索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定位到要访问的记录所在的数据块,从而大大减少读取数据块的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-树索引的分类
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所示的【索引删除确认】界面。
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18