资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第7章 索引,本章学习目标: 熟悉索引的概念、索引的分类 。 掌握索引的设计准则 。 掌握创建和管理索引的方法 。,开 始,第7章 索引,7.1 索引概述 7.2 创建索引 7.3 管理索引,7.1 索引概述,7.1.1 索引分类 索引包含了从表或视图中一个或多个列生成的键,通过键映射到指定数据的存储位置的指针 。 数据的访问方式和索引的存储结构 。 两种基本的索引类型:聚集索引和非聚集索引 。聚集索引是一种数据表的物理顺序与索引顺序相同的索引,每个表只能有一个聚集索引,非聚集索引则是一种数据表的物理顺序与索引顺序不相同的索引。 7.1.2 设计索引 设计高效的索引对于获得良好的数据库和应用程序性能极为重要。,7.2 创建索引,7.2.1 在图形界面下创建索引 为学生表建立姓名和出生日期的组合索引。 在对象资源管理器中,打开要建立索引的表tblStudents,单击前面的“+”,展开选项,右建单击“索引”,选择“新建索引”,打开“新建索引”对话框。 在“新建索引”窗体中,在“常规”选项中,输入索引的名称Index_Name_Birth,选择非聚集索引类型,点击“添加”按钮,打开窗体。在该窗体中选择Sname字段和Birthday字段作为索引列,单击“确定”按钮,返回“新建索引”对话框。,7.2 创建索引,在“选项”页可设置索引的填充因子等选项,填充因子指示索引页的填满程度。在“包含性列”中,设置索引页还可包含的其他非键列。在“存储”页,可以对指定的文件组或分区方案建立索引。在“空间”页可以设置空间索引的空间属性。在“筛选器”页可以定义筛选索引的筛选表达式。 设置完成后,单击“确定”按钮,则该索引创建完成。,7.2 创建索引,7.2.2 用CREATE INDEX语句创建索引 CREATE INDEX语句的语法格式如下: CREATE UNIQUE CLUSTERED | NONCLUSTERED INDEX index_name ON table | view ( column ASC | DESC ,.n ) INCLUDE ( column ,.n ) WITH PAD_INDEX = ON | OFF | FILLFACTOR = fillfactor | SORT_IN_TEMPDB = ON | OFF | IGNORE_DUP_KEY = ON | OFF | STATISTICS_NORECOMPUTE = ON | OFF | DROP_EXISTING = ON | OFF | ONLINE = ON | OFF | ALLOW_ROW_LOCKS = ON | OFF | ALLOW_PAGE_LOCKS = ON | OFF | MAXDOP = max_degree_of_parallelism | DATA_COMPRESSION = NONE | ROW | PAGE ON PARTITIONS ( | , .n ) ,.n ON partition_scheme_name (column_name) | filegroup_name |default ;,7.2 创建索引,【例7-1】 为学生表的系部字段创建简单非聚集索引。 CREATE INDEX Index_Dept 【例7-2】 为课程表的课程名称字段创建唯一非聚集索引。 CREATE UNIQUE INDEX Index_courseName ON tblCourses(Cname) ;,7.2 创建索引,【例7-3】 为成绩表创建课程编号和成绩字段的简单非聚集组合索引。 CREATE NONCLUSTERED INDEX Index_courseId_Grade ON tblScore (CourseID,Grade);,7.3 管理索引,7.3.1 查看索引 在表设计器中,打开“索引/键”窗口也可以创建和查询索引信息 使用存储过程sp_helpindex或sp_help查看索引信息 【例7-4】 查询tblstudents表的索引信息 USE CJMS; EXEC sp_helpindex tblstudents;,7.3 管理索引,7.3.2 修改索引 1ALTER INDEX的语法格式为: ALTER INDEX index_name | ALL ON table | view REBUILD WITH ( ,.n ) | DISABLE | REORGANIZE WITH ( LOB_COMPACTION = ON | OFF ) | SET ( ,.n ) ,7.3 管理索引,【例7-5】 为唯一性索引 UK_IX_courseName 修改选项设置,指定对重复字段的错误响应。 ALTER INDEX UK_IX_courseName ON tblCourses SET (IGNORE_DUP_KEY = ON); 【例7-6】 禁用UK_IX_courseName索引。 ALTER INDEX UK_IX_courseName ON tblCourses DISABLE;,7.3 管理索引,2使用sp_rename可更改索引名称,其语法格式为: sp_rename object_name , new_name , INDEX 其中: object_name:需要更改的对象名,必须以“表名.索引名”的格式指定。 new_name :对象的新名称。 【例7-14】 将UK_IX_courseName索引更名为UK_Cname。 EXEC sp_rename tblCourses.UK_IX_courseName , UK_CName, INDEX;,本章小结,本章介绍了索引的概念、分类,索引的设计准则,索引的创建和索引的管理。 学完本章后,应掌握创建和管理索引的方法,熟悉索引的分类以及索引的设计准则。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号