索引及其应用剖析.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 索引及其应用 教学目标 通过本章学习,使学生掌握索引的基本概念、分类和作用,掌握索引的建立和操作方法,掌握索引的维护方法,会根据实际问题的需要,能够熟练地建立表和视图的相关索引。 教学要求 知识要点 能力要求 关联知识 索引概念、分类和作用 (1)掌握索引的基本概念、分类和作用 索引概念、分类和作用 索引的建立和操作 (1)掌握索引的建立方法 (2)掌握索引的操作方法 SQL Server Management Studio建立和操作索引, CREATE INDEX等SQL命令 索引的维护 (1)掌握维护索引的常用方法 DBCC SHOWCONTIG和DBCC INDEXDEFRAG 命令 索引视图 (1)掌握索引视图的建立和应用方法 CREATE VIEW,CREATE INDEX等SQL命令 重点难点 索引的概念、分类和作用 索引的建立和操作方法 索引视图的建立与应用 6.1任务描述 本章完成项目的第6个任务:在大学生选课管理数据库Student中,完成如下操作: 1.为课程信息表创建一个非聚集复合索引。 2.为教师教课信息表创建一个聚集复合索引。 3.为学生选课信息表创建一个唯一、聚集复合索引。 6.2索引综述 数据库中的索引可以快速找到表或索引视图中的特定信息。索引包含从表或视图中一个或多个列生成的键,以及映射到指定数据的存储位置的指针。通过创建、设计良好的索引以支持查询,可以显著提高数据库查询和用应程序的性能。索引可以减少为返回查询结果集而必须读取的数据量。索引还可以强制表中的行具有唯一性,从而确保表数据的数据完整性。 1.索引的概念 数据库中的索引与书籍中的索引(目录)类似,在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。书中的索引是一个词语列表,其中注明了包含各个词的页码。而数据库中的索引是某个表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 也可以这么说,数据库中某个表的索引是指,将这个表中数据行按照某一列或者若干列值的组合(称为索引键)的大小,只排列各个数据行的顺序,而不改变数据行的存储位置,得到的一个非结构数据文件。 2.索引的作用 通过创建唯一索引,可以保证数据记录的唯一性。 通过创建和使用索引可以大大加快数据检索的速度。 通过创建和使用索引可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。 通过创建和使用索引使得在使用ORDER BY和GROUP BY子句中进行检索数据时,可以显著减少查询中分组和排序的时间。 通过索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。 3.索引类型 表或视图可以包含以下类型的索引。 (1)聚集索引 聚集索引是指表中数据行的物理存储顺序与索引列顺序完全相同。聚集索引是根据数据行的键值在表或视图中排序而存储这些数据行。索引定义中包含聚集索引列。每个表只能有一个聚集索引,因为数据行本身只能按一个顺序方式排序。 只有当表包含聚集索引时,表中的数据行才按排序顺序存储。如果表没有聚集索引,则其数据行存储在一个称为堆的无序结构中。 (2)非聚集索引 非聚集索引不改变表中数据行的物理存储位置,数据与索引分开存储,通过索引带有的指针与表中的数据发生联系。非聚集索引具有独立于数据行的结构。非聚集索引包含非聚集索引键值,并且每个键值项都是指向包含该键值的数据行的指针。 一个表或视图可含有多个非聚集索引。 聚集索引和非聚集索引都可以是唯一的。这意味着任何两行都不能有相同的索引键值。另外,索引也可以不是唯一的,即多行可以共享同一个索引键值。每当修改了数据表内容后,都会自动维护表或视图的索引。 (3)唯一索引 唯一索引确保索引键不包含重复的值,因此,表或视图中的每一行在某种程度上是唯一的。 (4)包含性列索引 是一种非聚集索引,它扩展后不仅包含键列,还包含非键列。 (5)索引视图 视图的索引将具体化(执行)视图,并将结果集永久存储在唯一的聚集索引中,而且存储方法与带聚集索引的表的存储方法相同。创建聚集索引后,可以为视图添加非聚集索引。 6.3创建索引 使用索引要付出一定的空间和时间的代价,因此为表建立索引时,要根据实际情况,认真考虑哪些列应该索引,哪些列不应该索引。 建立索引一般要遵循以下几条原则: 主键列上一定要建立索引; 外键列上可以建立索引; 在经常查询的字段上最好建立索引; 对于查询中很少涉及的列、重复值比较多的列不要建立索引; 对于定义为text、image和bit数据类型的列上不要建立索引; SQL Server 2008在创建主键约束或唯一约束时,自动创建唯一

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档