8.3.4 创建和删除索引

2025-06-05 14:18:27 更新

1. 索引的作用

数据库中的索引与书籍中的索引类似,在一本书中,利用索引可以快速查找所需信息,无

须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所

需数据。书中的索引是一个词语列表,其中注明了包含各个词的页码。而数据库中的索引是某

个表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。

索引的作用如下:

(1)通过创建唯一索引,可以保证数据记录的唯一性。

(2)可以大大加快数据检索速度.

(3)可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。

(4)在使用ORDERBY和GROUPBY子句中进行检索数据时,可以显著减少查询中分组

和排序的时间。

(5)使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。

索引分为聚集索引和非聚集索引。聚集索引是指索引表中索引项的顺序与表中记录的物理

顺序一致的索引。

2. 建立索引

语句格式:CREATE [UNIQUE][CLUSTER]INDEX <索引名〉

ON〈表名 >(< 列名〉[〈次序习[,< 列名 >[〈次序>]]—):

参数说明如下:

・ 次序:可选ASC (升序)或DESC (降序),默认值为ASC。

・UNIQUE:表明此索引的每一个索引值只对应唯一的数据记录。

・CLUSTER:表明要建立的索引是聚簇索引,意为索引项的顺序是与表中记录的物理顺序一致的索引组织。


CREATE UNIQUE INDEX J-JNO ON J(Jno);

CREATEUNIQUE INDEX SPJ-NO ON SPJ(Sno ASC,Pno DESCfJNO ASC);


3. 删除索引

语句格式:DROP INDEX <索引名>

例如,执行DROP INDEX Studentindex,此后索引Studeutlndex不再是数据库模式的一部分。