当前位置: > IT面试 >

数据库索引相关的面试题

时间:2019-01-05 23:11来源:未知 作者:IT

建立索引是加快查询速度的有效手段。用户可以根据相应环境的需要,在基本表上建立一个或者多个索引,以提供多种存储路径,加快查找速度。

建立与删除索引由数据库管理员DBA或表的属主,即建立表的人,负责完成。系统在存取数据时会自动选择合适的索引作为存取路径,用户不必也不能显式地选择索引。

建立索引
在SQL语言中,建立索引使用CREATE INDEX语句,其一般格式为:
CREATE [UNIQUE] [CLUSTER] INDEX <索引名>
ON <表名> (<列名>[<次序>][,<列名>[<次序>]]…)
其中<表名>是要建索引的基本表的名字。索引可以建立在该表的一列或多列上,各列名之间用逗号分隔。每个<列名>后面还可以用<次序>指定索引值的排列次序,可选ASC(升序)或DESC(降序),缺省值为ASC。
UNIQUE表明此索引的每一个索引值只对应唯一的数据记录。
CLUSTER表示要建立的索引是聚簇索引。所谓聚簇索引是指索引项的顺序与表中记录的物理顺序一致的索引组织。
例如:
CREATE CLUSTER INDEX Stusname ON Student(Sname);
将会在Student表的Sname列上建立一个聚簇索引,而且Student表中的记号将按照Sname值得升序存放。
用户可以在最经常查询的列上建立聚簇索引以提高查询效率。显然在一个基本表上最多只能建立一个聚簇索引。建立聚簇索引后,更新该索引列上的数据时,往往导致表中记录的无力顺序的变更,代价较大,因此对于经常更新的列不易建立聚簇索引。

删除索引
索引一经建立,就由系统使用和维护它,不需要干预它。建立索引是为了减少查询操作的时间,但如果数据增删改频繁,系统会花费很多时间来维护索引,从而降低了查询效率。这时,可以删除一些不必要的索引。
在SQL中,删除索引使用DROP INDEX语句,其一般格式为
DROP INDEX <索引名>

在RDBMS中索引一般采用B+树,HASH索引来实现。B+树索引具有动态平衡的优点。HASH索引具有查找速度快的特点。索引是关系数据库的内部实现技术,属于内模式。用户使

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容