SQL server课件第8章索 引.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文档。上传文档
查看更多
SQL server课件第8章索 引

1 8.1了解索引 索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引是依赖于表建立的,它提供了数据库中编排表中数据的内部方法。 一个表的存储是由两部分组成的,一部分用来存放表的数据页面,另一部分存放索引页面。索引就存放在索引页面上。通常,索引页面相对于数据页面来说小得多。当进行数据检索时,系统先有哪些信誉好的足球投注网站索引页面,从中找到所需数据的指针,再直接通过指针从数据页面中读取数据。从某种程度上,可以把数据库看作一本书,把索引看作书的目录,通过目录查找书中的信息,显然较没有目录的书方便、快捷。 2.簇索引:簇索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即簇索引与数据是混为一体的,它的叶节点中存储的是实际的数据。由于簇索引对表中的数据一一进行了排序,因此用簇索引查找数据很快。但由于簇索引将表的所有数据完全重新排列了,它所需要的空间也就特别大,大概相当于表中数据所占空间的120%。表的数据行只能以一种排序方式存储在磁盘上,所以一个表只能有一个簇索引。 3.非簇索引:非簇索引具有与表的数据完全分离的结构,使用非簇索引不用将物理数据页中的数据按列排序。由于非簇索引使用索引页存储,因此它比簇索引需要更多的存储空间,且检索效率较低。但一个表只能建一个簇索引,当用户需要建立多个索引时,就需要使用非簇索引了。从理论上讲,一个表最多可以建249 个非簇索引。 8.2 创建索引 8.2.1 用CREATE INDEX 命令创建索引 CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX index_name ON {table | view } (column [ ASC | DESC ] [,...n]) [WITH [PAD_INDEX] [ [, ] FILLFACTOR = fillfactor] [ [, ] IGNORE_DUP_KEY] [ [, ] DROP_EXISTING] [ [, ] SORT_IN_TEMPDB ] ] [ON filegroup] PAD_INDEX:指定填充索引的内部节点的行数,至少应大于等于两行。 FILLFACTOR = fillfactor:称为填充因子,它指定创建索引时,每个索引页的数据占索引页大小的百分比。对于那些频繁进行大量数据插入或删除的表,在建索引时应该为将来生成的索引数据预留较大的空间,即将fillfactor 设得较小,否则,索引页会因数据的插入而很快填满,并产生分页,而分页会大大增加系统的开销。但设得过小,又会浪费大量的磁盘空间,降低查询性能。 IGNORE_DUP_KEY:控制当往包含于一个惟一约束中的列中插入重复数据时SQL Server 所作的反应。DROP_EXISTING:指定要删除并重新创建簇索引。 SORT_IN_TEMPDB:指定用于创建索引的分类排序结果将被存储到Tempdb 数据库中。如果Tempdb 数据库和用户数据库位于不同的磁盘设备上,那么使用这一选项可以减少创建索引的时间,但它会增加创建索引所需的磁盘空间。 8.2.2 用企业管理器创建索引 1. 用索引创建向导创建索引 2. 直接创建索引 (右键?所有任务?管理索引) 3 . 在企业管理器中创建索引 8.3 查看与修改索引 8.3.1 用企业管理器 查看修改索引 (右键?所有任务?管理索引?编辑可以编辑sql) 8.3.2 用存储过程Sp_helpindex 查看索引 可以返回表的所有索引的信息。 sp_helpindex [@objname =] name 其中[@objname =] name子句指定当前数据库中的表的名称。 例8-4 :查看表orders 的索引。 exec sp_helpindex orders 8.3.3 用存储过程Sp_rename 更改索引名称 例8-5 更改表中的索引orders_quan 名称为orders_quantity。 sp_rename orders.[orders_quan], orders_quantity, index 8.4 删除索引 8.4.1 用企业管理器 删除索引 8.4.2 用DROP INDEX 命令删除索引 DROP INDEX 命令可以删除一个或多个当前数据库中的索引。 DROP INDEX tablename.indexname [,...n] DROP INDEX 命令不能删除由CREATE TABLE 或ALTER TABLE 命令创建的PRIMARY KEY 或UNIQUE 约束索引,也不能删除系统表中的索引。 例8-6: 删除表products 中的索引p_quantity。 d

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档