SQLServer2005实用教程蒋文沛2第5章索引课件教学.pptVIP

SQLServer2005实用教程蒋文沛2第5章索引课件教学.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文档。上传文档
查看更多
学习目标 为什么要使用索引,索引的优点是什么; 索引分类的依据是什么,了解各种索引的区别; 掌握创建索引的2种方法,在创建索引的过程中如何设定其属性和参数; 掌握删除和修改索引的方法; 掌握分析与维护索引的方法。 索引 数据库管理系统通常使用索引技术加快对表中数据的检索。 索引类似于图书的目录。目录允许用户不必翻阅整本图书就能根据页数迅速找到所需内容。在数据库中,索引也允许数据库应用程序迅速找到表中特定的数据,而不必扫描整个数据库。 在图书中,目录是内容和相应页码的列表清单。 在数据库中,索引是表中数据和相应存储位置的列表。 索引 在数据库的管理中,为了迅速地从庞大的数据库中找到所需要的数据,提供了类似书籍目录作用的索引技术。通过在数据库中对表建立索引,可以大大加快数据的检索速度。 在数据查询时,如果表的数据量很大且没有建立索引,SQL Server将从第一条记录开始,逐行扫描整个表,直到找到符合条件的数据行。这样,系统在查询上的开销将很大,且效率会很低。如果建立索引,SQL Server将根据索引的有序排列,通过高效的有序查找算法找到索引项,然后通过索引项直接定位数据,从而加快查找速度。 1.索引的概念 索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度。 它由某个表或视图中的一列或者若干列的值,以及这些值的记录在表中存储位置的物理地址所组成。 索引包含由表或视图中的一列或多列生成的键。这些键存储在一个结构中,使 SQL Server 可以快速有效地查找与键值关联的行。 无索引的表如何扫描? 演示: 创建了两张堆结构的表(无索引的表)。 ?set statistics io选项会打开一个特性,使SQL Server将语句执行期间I/O操作的有关信息发回给用户。这是一个用于判断查询I/O开销的极好特性。 ? 在执行之前按“Ctrl+M”或在“查询”菜单中选择“包括实际的执行计划”来包括实际的执行计划。然后执行两个查询:一个查询所有行,一个查询特定的一行数据。 索引的分类 5.1 建立索引 使用SSMS图形工具 使用create index命令创建索引 索引的优势: 通过创建唯一性索引,可以保证每一行数据的唯一性; 可以大大的加快数据的检索速度,这正是使用索引的最主要的原因; 在使用order by和group by子句进行数据检索时,可以减少查询中分组和排序的时间; 加速表与表之间的连接,特别是在实现数据库的参照完整性上很有意义; 可以在检索数据的过程中提高系统性能。 索引的限制 也许会有人要问增加索引有如此多的优点,为什么不对表中的每一个列创建一个索引呢?虽然索引有许多优点,但是为表中的每一个列都增加索引是非常不明智的做法。这是因为增加索引也有其不利的一面。 创建索引和维护索引要耗费时间。 索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间。如果要建立聚集索引,那么需要的空间就会更大。 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。 建立索引应该遵循以下原则: 在主键上创建索引; 在经常需要检索的字段上创建索引; 在外键上创建索引; 在经常需要排序的列上创建索引。 索引的分类_2 全文索引及XML索引 【例5.1】 将Employees表中男员工的数据存为一个新表,命名为“男员工表”; 在“男员工表”中按姓名创建一个唯一性聚集索引,并注意查看索引创建前后数据排序的变化。 【例5.2】 为employees表的“姓名”字段创建一个名为“i_姓名”的非聚集索引,使用降序排列,填充因子为30。语句如下: 【例5.3】 为goods表的“商品编号”和“商品名称”创建一个复合索引“i_goods”设定各相应参数。 索引的删除 使用SSMS图形工具删除索引 使用drop index命令删除索引 【例5.4】 删除goods中的索引“i_进货时间”和销售表中的索引“i_售出时间”。语句如下: 5.2 索引的分析与维护 创建索引后,必须对索引进行维护,确保索引的统计信息是有效的,才能够提高查找速度。随着更新操作不断的执行,数据会变得支离破碎,这些数据碎片会导致额外的页读取,防碍数据的并行扫描。应该定期整理索引清除数据碎片,提高数据读取的性能 。 进行索引维护的几种常用方法: 1.统计信息更新 2.重新组织或重新生成索引 3.使用命令重建和整理索引 1.统计信息更新 当往表中添加或从表中删除数据行以及索引列的值发生改变时,sql server将调整索引页以维护索引数据的存储。页拆分时会产生碎片,使用dbcc showcontig命令,可显示指定的表或视图的数据和索引的碎片信息。 【例5.5】 显示goods表的pk_good

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档