SQL Server2005数据库实用教程 教学课件作者 常军林第五章.pptVIP

SQL Server2005数据库实用教程 教学课件作者 常军林第五章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
知识目标 技能目标 5.1 索引概述 5.1.1 索引的概念 索引就是加快检索表中数据的方法。数据库中的索引和书的目录很相似。在一本书中,利用目录可以快速查找所需信息,无需阅读整本书;在数据库中,索引使数据库程序无需对整个表进行扫描,就可以在其中找到所需数据。索引是一个列表,这个列表中包含了某个表中一列或者若干列的集合,以及这些值的记录在数据表中存储位置的物理地址。 如果没有建立索引,在数据库中查询符合条件的记录时,系统将会从第一条记录开始,对表中的所有记录进行扫描,扫描整个表格是从存储表格的气起始地址开始,依次比较记录,直到找到位置。如果有索引,通过索引查找时,因为索引是有序排列的,所以,可以通过高效的有序查找算法找到索引项,再根据索引项中记录的物理地址,找到查询结果的存储位置。 5.1.2 索引的作用和原则 1.索引的作用 (1) 加快数据查询在表中创建索引后,SQL Server将在数据表中为其建立索引页,每个索引页中的行都含有指向数据页的指针,当进行以索引为条件的数据查询时,将大大提高查询速度。 (2) 加快表的连接、排序和分组工作在进行表的连接或使用ORDER BY 和GROUP BY子句检索数据时,都涉及数据的查询工作,建立索引后,可以明显减少表的连接及查询中分组和排序的时间。 (3) 唯一性索引可以保证数据唯一性通过创建唯一索引,可以保证表中的数据不重复,强制实施行的唯一性。 2. 创建索引的原则 索引这么重要,但并不是在每一列上都要创建索引,这是因为: (1) 创建索引要花费时间和占用存储空间; (2) 建立索引加快了检索速度,却减慢了数据修改速度。因为每当执行一次数据修改(包括插入、删除和更新),就要维护索引,修改的数据越多,涉及维护索引的开销也就越大。是否创建索引,在哪些列上创建索引,要 看创建索引和维护索引的代价与因创建索引所节省的时间相比较来定。 建立索引的一般原则是: (1) 对经常用来搜索数据记录的字段建立索引。 (2) 对表中的主键字段建立索引。 (3) 对表中的外键字段建立索引。 (4) 对在查询中用来连接表的字段建立索引。 (5) 对经常用来作为排序基准的字段建立索引。 5.1.3 索引的分类 索引的类型主要有:聚集索引、非聚集索引、唯一索引、视图索引、全文索引、XML索引等。 1.聚集索引 聚集索引(Clustered Index)对表在物理数据页中的数据按列进行排序,然后再重新存储到磁盘上。即在聚集索引中,行的物理存储顺序与索引顺序完全相同,即索引的顺序决定了表中行的存储顺序。表数据按照指定作为聚集索引的一个或多个键列排序并存储。由于表中的数据行只能以一种排序方式存储在磁盘上,所以一个表只能有一个聚集索引。 由于聚集索引的顺序与数据行存放的物理顺序相同,因此,聚集索引最适合于范围搜索。因为相邻的行将被物理地存放在相同的页面上或相邻近的页面上,所以当在用于查找一定范围值的列上创建聚集索引时,聚集索引非常有效。因为,一旦使用聚集索引找到第一条符合条件的数据记录,同范围之后续键值的数据记录就会是相邻排列的。聚集索引的大小是表的5%。 当建立主键约束时,如果表中没有聚集索引,SQL会自动用主键作为聚集索引。用户可以在表的任何列或列的组合上建立聚集索引,实际应用中,主键是聚集索引的良好候选者。 2.非聚集索引 非聚集索引(NonClustered Index)不会改变表中数据行的物理顺序,数据与索引分开存储,通过索引带有的指针与表中的数据发生联系。非聚集索引只是记录指向表中行的位置的指针,这些指针本身有序,通过这些指针可以在表中快速的定位数据。在创建非聚集索引之前,应先创建聚集索引。一个表最多能够拥有249个非聚集索引。在一个表上建立索引默认都是非聚集索引,在一个列上设置唯一性约束时也自动在该列上创建非聚集索引。 3.唯一索引 如果要求索引中的字段值不能重复,可以建立唯一索引(Unique Index)。唯一索引要求所有数据行中任意两行中的被索引列或索引列组合不能存在重复值,包括不能有两个空值NULL。也就是说,对于表中的任何两行记录来说,索引键的值都是各不相同的。如果表中有多行的记录在某个字段上具有相同的值

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档