- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库原理与应用教程NO13
3.7 索引 1.2) 考虑建索引的列 1.3) 不考虑建索引的列 2.1) 聚集索引(CLUSTERED INDEX) 2.2) 非聚集索引(NONCLUSTERED INDEX) 3.1) 使用T-SQL创建与管理索引 简单索引 使用唯一聚集索引 简单组合索引 删除索引 3.2) 用企业管理器创建查看索引 3.2) 使用企业管理器重命名索引 3.2 使用企业管理器删除索引 3.3) 使用向导创建索引 4.1) 显示索引的碎块信息 4.2) 整理碎片 4.3) 重建索引 5)实训 USE 教学成绩管理数据库 sp_helpindex 学生信息表----出错 exec sp_helpindex 学生信息表---正确 直接: sp_helpindex 学生信息表 ---正确 使用了’USE 库’后,执行此存储过程要加前缀EXEC,不加出错。 而不写‘USE 库’可不加EXEC. * 教学提示: 数据库中的索引与书籍中的索引类似。在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。当创建数据库并优化其性能时,应该为数据查询所使用的表列创建索引。 教学要求:通过本章的学习,读者应该掌握以下内容:索引的概念、索引的创建、管理和维护。 1) 索引的概念 2) 索引的类型 3) 索引的创建与管理 4) 索引的维护 5) 本章实训 1) 索引的概念 1.1) 索引的概念 数据库中的索引与书籍中的索引类似,在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。数据库中的索引是某个表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 索引的作用: 通过创建唯一索引,可以保证数据记录的唯一性。 可以大大加快数据检索速度。 可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。 在使用ORDER BY和GROUP BY子句中进行检索数据时,可以显著减少查询中分组和排序的时间。 使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。 在经常需要搜索的列上; 在作为主键的列上; 在经常用在连接的列上; 在经常使用在WHERE子句中的列。 在经常需要排序的列上; 在经常需要根据范围进行搜索的列上; 对于那些在查询中很少使用或者参考的列; 对于那些只有很少唯一数据值的列; 对于那些定义为TEXT、NTEXT、IMAGE或BIT等数据类型的列; 当列的修改性能远远大于检索性能时。 2) 索引的类型 (聚集索引与非聚集索引) 聚集索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即聚集索引与数据是混为一体的,它的叶节点中存储的是实际的数据。 非聚集索引具有完全独立于数据行的结构,使用非聚集索引不用将物理数据页中的数据按列排序。非聚集索引的叶节点存储了组成非聚集索引的关键字值和行定位器。 提示:在缺省情况下,所创建的索引是非聚集索引;在每一个表上面,可以创建不多于249个非聚集索引。 注意:由于非聚集索引使用索引页存储,因此它比聚集索引需要更多的存储空间,且检索效率较低。 使用T-SQL语句中的CREATE INDEX,既可以创建聚集索引或非聚集索引。其语法如下: CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX 索引名 ON {表名|视图名.} 列名 [ ASC | DESC ] [,...n]) 提示:默认非聚集索引;定义一个主键,将会自动在主键所在列上创建一个唯一索引,称之为主键索引。主键索引是唯一索引的特殊类型。 3) 索引的创建与管理 【例8.1】 为《教学成绩管理系统》中的学生信息表的学号列创建索引。 create index xh_ind on 学生信息表(学号) 提示: 可以在查询分析器中使用存储过程 sp_helpindex 检查索引创建情况。 例:exec sp_helpindex 学生信息表 【例8.2】 为《教学成绩管理系统》中的教师信息表的登录名列创建索引,并且强制唯一性。 create unique clustered index dlm_ind on 教师信息表(登录名) 技巧:在教师信息表的登录名列上建立聚集索引,并进行唯一性约束,比在编号列上建立聚集索引更能提高查询效率。 【例8.3】 为《教学成绩管理系统》中的教学成绩表的学号列和课程编号列创建索引。 create index xh_kcbh_ind
文档评论(0)