第七章索引及其应用 索引是一种特殊类型的数据库对象,它保存着数据表中一列或几 列组合的排序结构。为数据表增加索引,可以大大提高数据的检索效 率。索引是数据库中一个重要的对象,本章将详细介绍索引的基本概 念、使用索引的意义、创建索引的方法以及对索引的操作。 索引的基础知识 冷索引的分类 索引的操作 索引的分析与维护
第七章 索引及其应用 索引是一种特殊类型的数据库对象,它保存着数据表中一列或几 列组合的排序结构。为数据表增加索引,可以大大提高数据的检索效 率。索引是数据库中一个重要的对象,本章将详细介绍索引的基本概 念、使用索引的意义、创建索引的方法以及对索引的操作。 ❖ 索引的基础知识 ❖ 索引的分类 ❖ 索引的操作 ❖ 索引的分析与维护
第七章索引及其应用 索引的基础知识 1.数据存储 SQLServer2000中,数据存储的基本单位是页,其大小是8KB SQL Server2000数据库的数据文件中包含八种页类型:数据、索引、 文本/图像、全局分配映射表与辅助全局分配映射表、页的可用空间、 索引分配映射表、大容量更改映射表、差异更改映射表。 2索引 )索引的概念 索引是以表列为基础建立的数据库对象,它保存着表中排序的索 引列,并且记录了索引列在数据表中的物理存储位置,实现了表中数 据的逻辑排序 2)使用索引的意义 素引在数据库中的作用与目录在书籍中的作用类似,都用来提高个 查找信息的速度
第七章 索引及其应用 ❖ 索引的基础知识 1. 数据存储 SQLServer 2000 中,数据存储的基本单位是页,其大小是8KB . SQL Server 2000 数据库的数据文件中包含八种页类型:数据、索引、 文本/图像、全局分配映射表与辅助全局分配映射表、页的可用空间、 索引分配映射表、大容量更改映射表、差异更改映射表。 2 .索引 1)索引的概念 索引是以表列为基础建立的数据库对象,它保存着表中排序的索 引列,并且记录了索引列在数据表中的物理存储位置,实现了表中数 据的逻辑排序。 2)使用索引的意义 索引在数据库中的作用与目录在书籍中的作用类似,都用来提高 查找信息的速度
第七章索引及其应用 索引的基础知识 3)使用索引的代价 为每一列都建立索引是不明智的,因为使用索引要付出一定的代价: 索引需要占用数据表以外的物理存储空间。 创建索引和维护索引要花费一定的时间。 当对表进行更新操作时,索引需要被重建,这样降低了数据的维 护速度 4)建立索引的原则 认真考虑哪些列应该建索引,哪些列不该建索引。一般原则是: 主键列上一定要建立索引。 外键列可以建索引。 对于那些查海中很少涉及的列、重复值比较多的列不要建索 对于定义为text, Image和Bt数据类型的列上不要建立室引
第七章 索引及其应用 ❖ 索引的基础知识 3)使用索引的代价 为每一列都建立索引是不明智的,因为使用索引要付出一定的代价: 索引需要占用数据表以外的物理存储空间。 创建索引和维护索引要花费一定的时间。 当对表进行更新操作时,索引需要被重建,这样降低了数据的维 护速度。 4)建立索引的原则 认真考虑哪些列应该建索引,哪些列不该建索引。一般原则是: 主键列上一定要建立索引。 外键列可以建索引。 在经常查询的字段上最好建立索引。 对于那些查询中很少涉及的列、重复值比较多的列不要建索引 对于定义为text,Image和Bit数据类型的列上不要建立索引
第七章索引及其应用 索引的分类 根据索引的存储结构不同将其分为两类: 聚集索引 聚集索引是指表中数据行的物理存储顺序与索引顺序完全相同。 聚集索引由上下两层组成,上层为索引页,包含表中的索引页面,用 于数据检索,下层为数据页。 非聚集索引 非聚集索引不改变表中数据行的物理存储位置,数据与索引分开 存储,通过索引带有的指针与表中的数据发生联系
第七章 索引及其应用 ❖索引的分类 根据索引的存储结构不同将其分为两类: 聚集索引 聚集索引是指表中数据行的物理存储顺序与索引顺序完全相同。 聚集索引由上下两层组成,上层为索引页,包含表中的索引页面,用 于数据检索,下层为数据页。 非聚集索引 非聚集索引不改变表中数据行的物理存储位置,数据与索引分开 存储,通过索引带有的指针与表中的数据发生联系
第七章索引及其应用 索引的分类 索引页 根结点 数据页
第七章 索引及其应用 ❖索引的分类 索引页 数据页 根结点
第七章索引及其应用 索引的分类 系部代码指针地 址 系部代码系部名称系主任 社会科学部刘克忠 02 经济管理系刘国峰 03 8254 08 建筑系王未起 04 04 基础科学部王彬 03 传播技术系田建国 06 176 07 农林系陈瑞修 06 机电工程系王伟东 01 计算机系刘海军
第七章 索引及其应用 ❖索引的分类 系部代码 指针地 址 01 8 02 2 03 5 04 4 05 1 06 7 07 6 08 3 系部代码 系部名称 系主任 05 社会科学部 刘克忠 02 经济管理系 刘国峰 08 建筑系 王未起 04 基础科学部 王彬 03 传播技术系 田建国 07 农林系 陈瑞修 06 机电工程系 王伟东 01 计算机系 刘海军
第七章索引及其应用 索引的操作(创建、查询索引、更名、删除索引、设置选项) 创建索引-利用企业管理器直接创建索引。其具体步骤如下 1)在企业管理器中,选择要创建索引的表(如:教师表),右击该 表。在弹出的菜单中选择“所有任务”下的“管理索引”命令,打开 管理索引”对话框。在该对话框中显示了当前表中已有的索引,包 含其名称、是不是聚集索引和索引字段的名称 2)单击“新建”按钮,打开“新建索引”对话框。设定索引的各属 性 3)完成后,单击“确定”按钮,即可生成新的索引
第七章 索引及其应用 ❖索引的操作(创建、查询索引、更名、删除索引、设置选项) 创建索引---利用企业管理器直接创建索引。其具体步骤如下: 1)在企业管理器中,选择要创建索引的表(如:教师表),右击该 表。在弹出的菜单中选择“所有任务”下的“管理索引”命令,打开 “管理索引”对话框。在该对话框中显示了当前表中已有的索引,包 含其名称、是不是聚集索引和索引字段的名称。 2)单击“新建”按钮,打开“新建索引”对话框。设定索引的各属 性。 3)完成后,单击“确定”按钮,即可生成新的索引
第七章索引及其应用 索引的操作(创建、查询索引、更名、删除索引、设置选项) 创建索引-利用企业管理器中的索引向导创建索引 1)在企业管理器中,从“工具”菜单中选择“向导”命令,打开“ 选择向导”对话框 2)单击“选择向导”对话框中“数据库”左边的加号图标,然后选 择“创建索引向导”。 3)单击“确定”按钮,打开“欢迎使用创建索引向导”对话框。 4)在向导的欢迎对话框中,单击“下一步”按钮,打开“选择数据 库和表”对话框。 5)在该对话框中,从数据库名称下拉列表框中选择“ STUDENT 数据库,从对象名中选择“教师任课”表
第七章 索引及其应用 ❖索引的操作(创建、查询索引、更名、删除索引、设置选项) 创建索引---利用企业管理器中的索引向导创建索引。 1)在企业管理器中,从“工具”菜单中选择“向导”命令,打开“ 选择向导”对话框。 2)单击“选择向导”对话框中“数据库”左边的加号图标,然后选 择“创建索引向导”。 3)单击“确定”按钮,打开“欢迎使用创建索引向导”对话框。 4)在向导的欢迎对话框中,单击“下一步”按钮,打开“选择数据 库和表”对话框。 5)在该对话框中,从数据库名称下拉列表框中选择“STUDENT” 数据库,从对象名中选择“教师任课”表
第七章索引及其应用 索引的操作(创建、查询索引、更名、删除索引、设置选项) 创建索引-利用企业管理器中的索引向导创建索引。 6)选择好数据库和数据表之后,单击“下一步”按钮,打开“当 前索引信息”窗口。在该窗口中,显示了目前已存在的索引。 7)单击“下一步”按钮,打开“选择列”对话框。我们从中选择 需要建索引的列,如课程编号、课程号。 8)单击“下一步”按钮,打开“指定索引选项”对话框,在这里 设置索引的属性,可以设置聚集索引或唯一索引,还可设置填充因 子 9)指定索引选项后,单击“下一步”按钮,出现“创建完成”对 话框。在其“名称”文本框中为新建索引指定一个名称,然后单击 “完成”按钮。出现消息提示“创建索引成功”时,单击“确定” 按钮,成索引创建
第七章 索引及其应用 ❖索引的操作(创建、查询索引、更名、删除索引、设置选项) 创建索引---利用企业管理器中的索引向导创建索引。 6)选择好数据库和数据表之后,单击“下一步”按钮,打开“当 前索引信息”窗口。在该窗口中,显示了目前已存在的索引。 7)单击“下一步”按钮,打开“选择列”对话框。我们从中选择 需要建索引的列,如课程编号、课程号。 8)单击“下一步”按钮,打开“指定索引选项”对话框,在这里 设置索引的属性,可以设置聚集索引或唯一索引,还可设置填充因 子。 9)指定索引选项后,单击“下一步”按钮,出现“创建完成”对 话框。在其“名称”文本框中为新建索引指定一个名称,然后单击 “完成”按钮。出现消息提示“创建索引成功”时,单击“确定” 按钮,完成索引创建
第七章索引及其应用 索引的操作(创建、查询索引、更名、删除索引、设置选项) 创建索引-利用查询分析器创建索引 其语法格式如下: CREATEI UNIQUEI CLUSTERED NONCLUSTERED INDEX 索引名 ON{表名|视图名}(列名[ASC|DESC,n]) WITH PAD INDEXI ILFILLFACTOR=填充因子 ILJIGNORE DUP KEYI ILDROP EXISTINGI ILISTATISTICS NORECOMPUTEJ ILSORT IN TEMPDB ION filegroup
第七章 索引及其应用 ❖索引的操作(创建、查询索引、更名、删除索引、设置选项) 创建索引---利用查询分析器创建索引。 其语法格式如下: CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX 索引名 ON { 表名 | 视图名} ( 列名 [ ASC | DESC ] [ ,...n ] ) [ WITH [PAD_INDEX ] [[,]FILLFACTOR =填充因子] [[,]IGNORE_DUP_KEY] [[,]DROP_EXISTING] [[,]STATISTICS_NORECOMPUTE] [[,]SORT_IN_TEMPDB] ] [ON filegroup]