第五章索引.pptVIP

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章索引

第5章 索引 5. 1 索引及其结构与类型 5. 2 创建索引的列 5. 3 操作索引 5. 1 概述 5. 1. 1 索引的概念 数据库中的索引是一个列表,在这个列表中包含了某个表中一列或者若干列值的集合,以及这些值的记录在数据表中的存储位置的物理地址。 5. 1 概述 5. 1 概述 5. 1. 2 索引的优点 可以大大加快数据检索速度。 通过创建唯一索引,可以保证数据记录的唯一性。 在使用ORDER BY和GROUP BY子句进行检索数据时,可以显著减少查询中分组和排序的时间。 可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。 5. 1 概述1 5. 1. 2 索引的缺点 索引占用磁盘空间:占用数据库表中数据量的120%(不包括现存表占用的空间) 降低了数据修改(插入、更新、删除)速度。 5. 1 概述 5. 1. 3 索引的分类 1.聚集索引和非聚集索引 2.惟一索引和非惟一索引 3.全文本索引 5. 1 概述 1、聚集索引 聚集索引是一种指明数据物理存储顺序的索引。 行的物理存储顺序与索引顺序完全相同,即索引的顺序决定了表中行的存储顺序。 聚集索引适合于范围搜索。 每张表只能有一个聚集索引。 主键是聚集索引的良好的后选者。 5. 1 概述 2、非聚集索引 非聚集索引不会影响数据表中记录的实际存储顺序。 非聚集索引仅仅记录指向表中行的位置的指针,通过这些指针迅速地定位数据。 一个表中可以创建多个非聚集索引,每个表中最多可以有249个非聚集索引。 默认情况下是非聚集索引。 在一列上设置唯一性约束时也自动创建非聚集索引。 5. 1 概述 3、惟一索引 惟一索引既可以采用聚集索引的结构,又可以采用非聚集索引的结构。 如果希望在表中创建惟一索引,则该字段或字段组合的值在表中必须是具有惟一性的。 5. 1 概述 4、全文本索引 使用全文本索引,启动全文本搜索服务。 每个表只允许有一个全文本索引。 全文本索引不能够自动更新。 只可以CHAR(字符)或VARCHAR(变长字符)类型的列上创建全文本索引。 5. 1 概述1 考虑创建索引的列: 1、主键 2、连接使用频繁的列 3、在某一范围内频繁搜索的列 4、按排序顺序频繁检索的列 5. 1 概述1 不考虑创建索引的列: 1、很少或从来不在查询中引用的列 2、只有两个或若干个值的列 3、行数很少的列 总之,当UPDATE的性能比SELECT更重要时不应创建索引。 5. 2 创建索引 5.2.1系统自动创建索引 在建立或修改表时,如果添加了一个主键约束或惟一性约束,系统自动在表中生成一个惟一性索引。 这个惟一性索引可以是聚集的,也可以是非聚集的,取决于PRIMARY KEY或UNIQUE后的关键字。 5. 2 创建索引 主键约束 [CONSTRAINT 约束名]PRIMARY KEY[(列名)] [CLUSTERED|NONCLSTERED] 两个关键字都不使用则生成惟一性聚集索引。 唯一性约束 [CONSTRAINT 约束名] UNIQUE[CLUSTERED|NONCLSTERED][(列名)] 两个关键字都不使用则生成惟一性非聚集索引。 5. 2 创建索引 5. 2. 2 使用向导创建索引 在企业管理器中,展开指定的服务器和数据库,选择要创建索引的表,从‘工具’菜单中选择‘向导’选项。打开‘选择向导’对话框,展开‘数据库’选项,选择‘创建索引向导’。 5. 2 创建索引 5. 2. 3 使用企业管理器创建索引 在企业管理器中,展开指定的服务器和数据库,选择要创建索引的表,从弹出的快捷菜单中依次选择“所有任务|管理索引”选项。 5. 2 创建索引 5. 2. 4 使用Transact-SQL语句创建索引 利用Transact-SQL语句中的CREATE INDEX命令可以创建索引,CREATE INDEX命令既可以创建一个可改变表的物理顺序的聚集索引,也可以创建提高查询性能的非聚集索引 。 5. 2 创建索引 CREATE[UNIQUE][CLUSTERED|NONCLUSTERED] INDEX 索引名 ON 表名(字段名[ASC|DESC][,…n]) [WITH [PAD_INDEX] [[,]FILLFACTOR=填充因子] [[,]IGNORE_DUP_KEY] [[,]DROP_EXISTING] [[,]STAISTICS_NORECOMPUTE] ] [ON文件组] 5. 2 创建索引 例1:在学习关系表中创建一个非聚集索引“NO_课程号”。 USE 学生信息管理库 CREATE NONCLUSTERED INDEX NO_课程号 ON 学习关系

文档评论(0)

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

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

1亿VIP精品文档

相关文档