索引存取方法的选择(续) ■选择索引存取方法的一般规则 ■如果一个(或一组)属性经常在查询条件中出 现,则考虑在这个(或这组)属性上建立索引 (或组合索引) ■如果一个属性经常作为最大值和最小值等聚 集函数的参数,则考虑在这个属性上建立索 ■如果一个(或一组)属性经常在连接操作的连 接条件中出现,则考虑在这个(或这组)属性 上建立索引 An Introduction to Database System
An Introduction to Database System 索引存取方法的选择(续) ◼ 选择索引存取方法的一般规则 ◼ 如果一个(或一组)属性经常在查询条件中出 现,则考虑在这个(或这组)属性上建立索引 (或组合索引) ◼ 如果一个属性经常作为最大值和最小值等聚 集函数的参数,则考虑在这个属性上建立索 引 ◼ 如果一个(或一组)属性经常在连接操作的连 接条件中出现,则考虑在这个(或这组)属性 上建立索引
索引存取方法的选择(续) 关系上定义的索引数过多会带来较 多的额外开销 维护索引的开销 查找索引的开销 An Introduction to Database System
An Introduction to Database System 索引存取方法的选择(续) ◼ 关系上定义的索引数过多会带来较 多的额外开销 ◼ 维护索引的开销 ◼ 查找索引的开销
二、聚簇存取方法的选择 什么是聚簇 ■为了提高某个属性(或属性组)的查询速度, 把这个或这些属性(称为聚簇码)上具有相 同值的元组集中存放在连续的物理块称为聚 簇 ■许多关系型DBMS都提供了聚簇功能 聚簇存放与聚簇索引的区别 An Introduction to Database System
An Introduction to Database System 二、聚簇存取方法的选择 ◼ 什么是聚簇 ◼ 为了提高某个属性(或属性组)的查询速度, 把这个或这些属性(称为聚簇码)上具有相 同值的元组集中存放在连续的物理块称为聚 簇 ◼ 许多关系型DBMS都提供了聚簇功能 ◼ 聚簇存放与聚簇索引的区别
建立聚簇索引(复习) 聚簇索引 ■建立聚簇索引后,基表中数据也需要按指定的 聚簇属性值的升序或降序存放。也即聚簇索引 的索引项顺序与表中元组的物理顺序一致 例 CREATE CLUSTER INDEX Stusname oN Student(sname) 在 Student表的 Sname(姓名)列上建立一个聚 簇索引,而且 Student表中的记录将按照 Sname值的升 序存放 An Introduction to Database System
An Introduction to Database System 建立聚簇索引 (复习) ◼ 聚簇索引 ◼ 建立聚簇索引后,基表中数据也需要按指定的 聚簇属性值的升序或降序存放。也即聚簇索引 的索引项顺序与表中元组的物理顺序一致。 例: CREATE CLUSTER INDEX Stusname ON Student(Sname); 在Student表的Sname(姓名)列上建立一个聚 簇索引,而且Student表中的记录将按照Sname值的升 序存放
建立聚簇索引(复习) n在一个基本表上最多只能建立一个聚簇索引 ■聚簇索引的用途:对于某些类型的查询,可 以提高查询效率 ■聚簇索引的适用范围 很少对基表进行增删操作 很少对其中的变长列进行修改操作 An Introduction to Database System
An Introduction to Database System 建立聚簇索引 (复习) ◼ 在一个基本表上最多只能建立一个聚簇索引 ◼ 聚簇索引的用途:对于某些类型的查询,可 以提高查询效率 ◼ 聚簇索引的适用范围 ◼ 很少对基表进行增删操作 ◼ 很少对其中的变长列进行修改操作