网站大量收购独家精品文档,联系QQ:2885784924

sql 数据库 第九章 SQL Server 2008索引课件.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
sql 数据库 第九章 SQL Server 2008索引课件

SQL Server 数据库程序设计;本章学习目标 理解索引的作用和分类; 熟练掌握索引的创建、编辑和删除; 熟练掌握索引的管理方法。 ;在应用系统中,尤其在联机事务处理系统中,对数据查询及处理速度已成为衡量应用系统成败的标准。而采用索引来加快数据处理速度通常是最普遍采用的优化方法。;;;通过创建唯一索引,可以增强数据记录的唯一性。 可以大大加快数据检索速度。 可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。 在使用ORDER BY和GROUP BY子句中进行检索数据时,可以显著减少查询中分组和排序的时间。 使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。;不过,索引为性能所带来的好处却是有代价的。带索引的表在数据库中会占据更多的空间。另外,为了维护索引,对数据进行插入、更新、删除操作的命令所花费的时间会更长。 创建索引所需的工作空间约为数据库表的1.2倍,在建立索引时,数据被复制以便建立索引。索引建立后,旧的未加索引的表被删除,创建索引时使用的硬盘空间由系统自动收回。 在设计和创建索引时,应确保对性能的提高程度大于在存储空间和处理资源方面的代价。 ;;在查询中几乎不涉及的列 ;如果以存储结构来区分,则有“聚集索引”(Clustered Index,也称聚类索引、簇集索引)和“非聚集索引”(Nonclustered Index,也称非聚类索引、非簇集索引)的区别; 如果以数据的唯一性来区别,则有“唯一索引”(Unique Index)和“非唯一索引”(Nonunique Index)的不同; 若以键列的个数来区分,则有“单列索引”与“多列索引”的分别。;;;关于非聚集索引 非聚簇索引提高的存取速度,但降低了表的更新的速度 如果硬盘和内存空间有限,应限制非聚簇索引的使用 修改一个表的数据时,同时要维护索引;建立聚集索引的必要性;;;;1.系统自动创建索引 系统在创建表中的其他对象时可以附带地创建新索引。通常情况下,在创建UNIQUE约束或PRIMARY KEY约束时,SQL Server会自动为这些约束列创建聚集索引。 2.用户创建索引 除了系统自动生成的索引外,也可以根据实际需要,使用对象资源管理器或利用SQL语句中的CREATE INDEX命令直接创建索引。 ;;;;语法形式 CREATE [ UNIQUE ] /*是否为唯一索引*/ [ CLUSTERED | NONCLUSTERED ] /*索引的组织方式*/ INDEX index_name /*索引名称*/ ON { table | view } ( column [ ASC | DESC ] [ ,...n ] ) /*指定索引定义依据的对象*/ [ WITH index_option /*索引选项*/ [,] FILLFACTOR = fillfactor ] ] [[,] IGNORE_DUP_KEY ] [[,] DROP_EXISTING ] [[,] STATISTICS_NORECOMPUTE ] [[,] SORT_IN_TEMPDB ] [ ON filegroup ] /*指定索引文件所在的文件组*/;参数说明如下: CLUSTERED:用于指定创建的索引为聚集索引。 NONCLUSTERED:用于指定创建的索引为非聚集索引。 ASC|DESC:用于指定某个具体索引列的升序或降序排序方式。 FILLFACTOR:填充因子,或填充率。 IGNORE_DUP_KEY:当向包含于一个唯一聚集索引的列中插入重复数据时,将忽略该insert或update语句。 DROP_EXISTING:用于指定应删除并重新创建同名的先前存在的聚集索引或非聚集索引。 STATISTICS_NORECOMPUTE:用于指定过期的索引统计不自动重新计算。 SORT_IN_TEMPDB:用于指定创建索引时的中间排序结果将存储在tempdb数据库中。;【例9-1】使用CREATE INDEX语句为表stu_info创建一个非聚集索引,索引字段为name,索引名为idx_name。 CREATE INDEX idx_name ON stu_info ( name ) ;;;;1.利用对象资源管理器查看索引定义;2.利用系统存储过程查看索引定义 利用系统提供的存储过程sp_helpindex可以查看索引信息,其语法格式如下: sp_helpindex [ @objname = ]

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档