索引的建立与删除(引入一个数据字典的简介)

索引的建立与删除:

建立索引的目的:加快查询速度
常见索引包括:顺序文件上的索引、B+树索引、散列(hash)索引、位图索引等。
顺序文件上的索引:是针对制定属性值升序或降序存储的关系,在该属性上建立一个顺序索引文件,索引文件由属性值和相应的元组指针组成。
B+树索引:是将索引属性组织成B+树形式,B+树的叶结点为属性值和相应的元组指针组成。B+树索引具有动态平衡的优点。
索引的建立与删除(引入一个数据字典的简介)_第1张图片

散列索引:是建立若干个桶,将索引属性按照其散列函数值映射到相应的桶中,桶中存放索引属性值和相应的元组指针;散列索引查找速度较快
索引的建立与删除(引入一个数据字典的简介)_第2张图片

位图索引:是用位向量记录索引属性中可能出现的值,每个位向量对应一个可能值。
索引的建立与删除(引入一个数据字典的简介)_第3张图片

建立索引
CREATE [UNIQUE] [CLUSTER] INDEX <索引名>
ON<表名>(<列名>[<次序>]],<列名>[<次序>]]…);
[UNIQUE]:表明每一个索引值只对应唯一的数据记录
[CLUSTER]聚簇索引:是指索引项的顺序与表中记录的物理顺序一致的索引组织。
例1.1:在Student表的Sname列上建立一个聚簇索引:

CREATE CLUSTER INDEX Stusname ON Student(Sname);

注:1.在最经常查询的列上建立聚簇索引以提高查询效率;
2.一个基本表上最多只能建立一个聚簇索引;
3.经常更新的列不宜建立聚簇索引。
删除索引
DROP INDEX<索引名>;
删除索引时,系统会从数据字典中删去有关该索引的描述。所以,索引并不是越多越好。
例1.2:删除Student表的Stusname索引:

DROP INDEX Stusname;

数据字典简介:

数据字典是关系数据库管理系统内部的一组系统表,它记录了数据库中所有定义信息:关系模式定义、视图定义、索引定义、完整性约束定义、各类用户对数据库的操作权限、统计信息等。
关系数据库管理系统在执行SQL的数据定义语句时,实际上就是在更新数据字典表中的相应信息。

数据字典是一种通用的程序设计方法。可以认为,不论什么程序,都是为了处理一定的主体,这里的主体可能是人员、商品(超子)、网页、接口、数据库表、甚至需求分析等等。当主体有很多的属性,每种属性有很多的取值,而且属性的数量和属性取值的数量是不断变化的,特别是当这些数量的变化很快时,就应该考虑引入数据字典的设计方法。

你可能感兴趣的:(数据库SQL)