第10章索引(阅读).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文档。上传文档
查看更多
第10章 索引 本章内容 索引概述 索引分类 索引操作 10.1 索引概述 索引的基本概念 索引是对数据库表中一个或多个字段的值进行排序,对表进行快速检索的方法。 建立索引的目的: (1)加速数据检索 (2)加速连接、ORDER BY和GROUP BY等操作 10.1 索引概述 索引的分类 根据数据库的功能,在SQL Server 2000中可创建3种类型的索引,即聚集索引、非聚集索引、唯一性索引、组合索引。 10.2 索引的操作 创建索引 1.使用企业管理器向导建立索引 2.使用企业管理器直接创建索引 10.2 索引的操作 3.使用Transact-SQL语句创建索引 语法格式: CREATE [UNIQUE][CLUSTERED|NONCLUSTERED] INDEX index_name ON table_name(column_name[ASC|DESC],…n) [WITH [PAD_INDEX] [[,] FILLFACTOR=fillfactor] [[,] IGNORE_DUP_KEY] [[,] DROP_EXISTING] [[,] STATISTICS_NORECOMPUTE] ] [ON filegroup] 10.2 索引的操作 例10-1 按pubs数据库employee表的lname列建立非聚集索引。 use pubs IF EXISTS(SELECT name FROM sysindexes where name=lname) DROP index employee.lname CREATE NONCLUSTERED INDEX lname ON employee(lname) sp_helpindex employee --查看索引信息 10.2 索引的操作 查看索引 1.使用企业管理器查看索引 2.使用系统存储过程查看索引 语法格式: sp_helpindex [@objname]=name 其中[@objname]=name子句为指定当前数据库中的表的名称。 例10-2 在查询分析器中查看表employee的索引。 USE pubs GO sp_helpindex employee --查看索引信息 GO 10.2 索引的操作 删除索引 索引会减慢INSERT、UPDATE和DELETE语句的执行速度。如果发现索引阻碍整体性能或不再需要索引,则可将其删除。 1.使用企业管理器删除索引 10.2 索引的操作 2.使用Transact-SQL语句删除索引 语法格式: DROP INDEX table_name.index_name [ ,...n ] 各选项的含义: (1)table_name:索引列所在的表。 (2)index_name:要删除的索引名称。索引名必须符合标识符的规则。 10.2 索引的操作 例10-4 删除employee表内名为employee_index_2的索引。 USE Sales IF EXISTS (SELECT name FROM sysindexes WHERE name = employee_index_2) DROP INDEX employee.employee_index_2 GO * * * * 1.聚集索引 在聚集索引中,表中各记录的物理顺序与键值的逻辑(索引)顺序相同。只有在表中建立了一个聚集索引后,数据才会按照索引键值指定的顺序存储到表中。由于一个表中的数据只能按照一种顺序来存储,所以在一个表中只能建立一个聚集索引。 2. 非聚集索引 非聚集索引完全独立于数据行的结构。SQL Server 2000也是按B树组织非聚集索引的,与聚集索引不同之处在于:非聚集索引B树的叶节点不存放数据页信息,而是存放非聚集索引的键值,并且每个键值项都有指针指向包含该键值的数据行。 3.唯一性索引 在表中建立唯一性索引时,组成该索引的字段或字段组合在表中具有唯一值,也就是说,对于表中的任何两行记录来说,索引键的值都是各不相同。 4.组合索引 表中通常有一个字段或一些字段组的合,其值用来唯一标识表中的每一行记录,该字段或字段组合称为表的主键。 系统表sysindexes 当用户创建数据库时,系统将自动创建系统表sysindexes,用户创建的每个索引均将在系统表sysindexes中登记. 当indid0 或 255时,为索引名。 sysname name 索引 ID: 1:聚集索引,1但255:非聚集索引 smallint indid 当ID0或255时,ID为索引所属表的ID

文档评论(0)

tiangou + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档