第7章索引.pptVIP

  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文档。上传文档
查看更多
复习提问: 数据的基本类型? 设计表结构的主要操作? 表结构与表记录的差别? 定义表结构时应定义哪些内容? 第7章 索引 当使用数据库数据表的索引来检索数据列时,SQL Server能很快地判断出数据储存的位置并且立即撷取该数据,特别是需要面对大量信息的时候,快速检索的效果更明显. 建立索引的目的:加快查询速度 ?谁可以建立索引:DBA 或 表的属主(即建立表的人) 一、表索引概述 (1)使用索引的优点 可以大大加快数据检索速度。 通过创建唯一索引,可以保证数据记录的唯一性。 在使用ORDER BY和GROUP BY子句进行检索数据时,可以显著减少查询中分组和排序的时间。 可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。 (2)使用索引的缺点 ①创建索引要花费时间和占用存储空间。    创建索引需要占用存储空间,如创建聚簇索引需要占用的存储空间是数据库表占用空间的1.2倍。在建立索引时,数据被复制以便建立聚簇索引,索引建立后,再将旧的未加索引的表数据删除。创建索引也需要花费时间。 ② 建立索引加快了数据检索速度,却减慢了数据修改速度。    因为每当执行一次数据的插入、删除和更新操作,就要维护索引。修改的数据越多,涉及维护索引的开销也就越大。如果将一些数据行插入到一个已经放满行的数据页面上,还必须将这个数据页面中最后一些数据移到下一个页面中去,这样,还必须改变索引页中的内容,以保持数据顺序的正确性。这就是对索引的维护。由于修改数据时要动态维护其索引,所以,对建立了索引的表执行修改操作要比未建立索引的表执行修改操作所花的时间要长。因此,创建索引虽然可以加快数据查询的速度,但是却会减慢数据修改的速度。 2、索引分类 (1)聚簇索引、非聚簇索引 在聚集(簇)索引中,表中各记录的物理顺序与键值的逻辑(索引)顺序相同,由于一个表中的数据只能按照一种顺序来存储,所以在一个表中只能建立一个聚簇索引。 如果不是聚簇索引,表中各记录的物理顺序与键值的逻辑顺序不匹配。在检索记录的时候,聚簇索引比非聚簇索引有更快的数据访问速度。在添加或更新记录的时候,由于使用聚簇索引时需要先对记录排序,然后再存储到表中,所以使用聚簇索引要比非聚簇索引速度慢。在一个表中只能有一个聚簇索引,但允许有多个非聚簇索引。 (2)、主键索引、惟一索引和普通索引 主键索引:每个索引键的值必须是唯一的,每表1个。 惟一索引:每个索引键的值必须是唯一的,每表n个。 普通索引:允许索引键的值重复。 二、索引的创建与管理 1、创建索引 (1)操作方法 方法1:在SQL Server企业管理器中目标表名字上右击,选择“所有任务”/“管理索引” 方法2:在打开表设计器后,选择“管理索引/键”工具或在表设计器中右击选择“索引/键” 方法3:向导:在“工具菜单”中选择“向导”命令 (2)参数设置 点击“新建”按钮建立新索引 在“索引名称”对应的文本框中输入索引名称 UNIQUE确定索引类型是否惟一索引 “创建为clustered”项决定是否为聚簇索引 “填充因子”设定索引文件每页的填充比例 填充因子 创建索引时,可以指定一个填充因子,以便在索引的每个页上留出额外的间隙和保留一定百分比的空间,供将来表的数据存储容量进行扩充和减少页拆分的可能性。填充因子的值是从 0 到 100 的百分比数值,指定在创建索引后对数据页的填充比例。值为 100 时表示页将填满,所留出的存储空间量最小。 提供填充因子选项是为了对性能进行微调,只有当不会对数据进行更改时(例如,在只读表中)才会使用此设置。值越小则数据页上的空闲空间越大,这样可以减少在索引增长过程中对数据页进行拆分的需要,但需要更多的存储空间。当表中数据会发生更改时,这种设置更为适当。 (3)命令建立索引 语句格式 CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED] INDEX 索引名 ON 表名(列名[次序][,列名[次序] ]…) [例]在Student表的Sname(姓名)列上建立一个聚簇索引    CREATE CLUSTERED INDEX Stusname ON Student(Sname) [例]为学生-课程数据库中的Student,Course,SC三个表建 立索引。 CREATE UNIQUE INDEX Stusno ON Student(Sno) CREATE UNIQUE INDEX Coucno ON Course(Cno) CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC) Student表按学号升序

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档