
索引的创建与删除
为了提高基本表中数据查询的效率,可以采用索引(Index)技术。用户可以根据需
要在基本表上建立一个或多个索引文件。索引文件实际上是一张二维的目录表,它由索引
项和元组地址 2 列组成。索引项即为用户指定的需要索引的一个或多个属性;而元组地址
是表中每个元组在存储器中的物理地址。索引文件中的索引项是经过排序的。因此,当需
要查找指定属性的值所对应的元组,就可以快速地找到所对应的索引项值和元组地址。索
引由数据库管理员或表的属主(建表的用户)负责创建和删除,其他用户不能随意建立和
删除索引。
1. 索引的创建
在 SQL 中,使用 CREATE INDEX 语句创建索引,其基本语法如下:
CREATE [UNIQUE][CLUSTER] INDEX 索引名称
ON 表名(列名[ASC][DESC][,列名[ASC][DESC]…]);
语句说明:
(1) 索引可以建立在一列或多列上,各列名之间用逗号分隔。
(2) 每个列名后面可以用次序来指定排序类型,ASC 表示升序,DESC 表示降序,默
认值为 ASC。
(3) 关键字 UNIQUE 表示该索引的每一个索引值只对应唯一的数据记录。
(4) 关键字 CLUSTER 表示要建立的索引是聚簇索引。聚簇索引使基本表中的数据在
存储器中的物理顺序与索引项的排列顺序一致。由于表中的数据在存储器中是按索引顺序
存放的,因此每个表最多只能建一个聚簇索引。建立聚簇索引后,如果需要更新索引列的
数据,就必须对表中记录的物理顺序进行变更,这样的代价比较大,因此对于需要经常更
新的列不适宜建立聚簇索引。
【例 1】 用 SQL 为 Studb 数据库中的 3 个基本表分别建立索引。其中,Student 表按
Sno 升序建立唯一索引,索引名称为 Sno-Index;Ss 表按 Ssno 升序建立聚簇索引,索引名
相关文档
评论