管理索引汇编.pptVIP

  1. 1、本文档共64页,可阅读全部内容。
  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文档。上传文档
查看更多
管理索引汇编

第十章 管理索引 了解索引的概念和作用 了解索引的类型 使用企业管理器创建和管理索引 使用T-SQL语句创建和管理索引 选择和维护索引 什么叫索引 数据库中的索引与书籍中的索引类似,在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。书中的索引是一个词语列表,其中注明了包含各个词的页码。 索引是一个单独的、物理的数据库结构, 是对数据库表中一个或多个列的值进行排序的结构。索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针。 索引是依赖于表建立的,它提供了数据库中编排表中数据的内部方法。一个表的存储是由两部分组成的:一部分用来存放表的数据页面,另一部分存放索引页面。索引就存放在索引页面上,通常索引页面相对于数据页面来说小得多。当进行数据检索时,系统先搜索索引页面,从中找到所需数据的指针,再直接通过指针从数据页面中读取数据。从某种程度上可以把数据库看作一本书,把索引看作书的目录,通过目录查找书中的信息显然比没有目录的书方便快捷。 索引(一) 在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。利用索引可以大大提高系统的性能,表现在: 通过创建惟一索引,可以保证数据记录的惟一性。 大大加快数据检索速度 加速表与表之间的连接 索引(二) 缺点: 占用储存空间 在表中插入或更新表中数据时,将有额外的操作来维护索引 过多的索引起反作用。 分类: 聚集索引 非聚集索引 聚集索引 聚集索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上。换句话说,如果在一个表中建立了聚集索引,则表中的数据页会按照该索引的顺序来存放。 优点:查找数据很快 缺点:完全重排数据,要相当于数据所占用空间的120% 注意: 由于一个表只能有一种实际的存储顺序,因此,一个表只能有一个聚集索引 创建非聚集索引之前要先创建聚集索引 关键值的惟一性使用UNIQUE或标识符明确维护 保证有足够的临时空间来创建聚集索引 非聚集索引 非聚集索引具有完全独立于数据行的结构。使用非聚集索引不用将物理数据页中的数据按列排序。通俗地说,不会影响数据表中记录的实际存储顺序。因此,可以在一个表中创建多个非聚集索引。 非聚集索引需要更多的空间,检索效率也较低。一个表中除建立一个聚集索引外,还可以建立249个非聚集索引。 例子:聚集索引和非聚集索引的例子见p226的表10-1和表10-2 唯一索引和组合索引 无论是聚集索引还是非聚集索引,根据索引键值是否重复,可以判定为是否为唯一索引;根据索引字段的组成情况,可以判定是否为组合索引。 唯一索引 若希望在表中创建唯一索引,则该字段或字段组合的值在表中必须具有唯一性,即表中任何两条记录的索引值都不能相同。 同样,若表中基于某个字段或字段组合存在两条以上的记录中有相同的值,将不能基于该字段或字段组合创建唯一索引。 注意:建立唯一索引的字段最后也设置为not null,因为两个null值将被认为是重复的字段值。 向表中添加记录或修改记录时,系统将检查添加的记录或修改后的记录是否会造成唯一索引键值的重复。若造成唯一索引键值的重复,系统将拒绝执行该操作。 复合索引 若基于多个字段的组合创建索引,则称该索引为复合索引。 注意:符合索引既可以是唯一索引,也可以不是唯一索引。即使是唯一索引,这个字段的组合的取值不能重复,但是单独的字段值依然可以重复。 设置索引的注意事项 SQL Server 2000在执行查询时,查询优化器会对可用的数据检索方法的成本进行评估,从中选择最有效的方法。因此,只要数据表中存在索引, SQL Server 就会使用索引进行查询。若不使用索引, SQL Server 将执行完整表扫描。若使用索引, SQL Server 将会查找查询所需的行的存储位置,并直接提取出所需的行。 在考虑是否为数据表中的某个列创建索引时,应该考虑按列进行查询的方式。若需要对该列进行如下查询,则可以考虑在该列上创建索引: 1、需要在该列搜索符合特定搜索关键字的行,即精确匹配查询。 2、需要在该列搜索关键字值属于某一特定范围值的行,即范围查询。 3、在表table1中搜索根据联接谓词与表table2中的某个行匹配的行。 4、搜索已定义了foreign key约束的两个表之间匹配的行。 5、使用like比较进行查询,且模式以特定的字符串如:a%开头。等等 建立索引的准则 若确定要创建索引,则需要考虑如下准则: 1、尽管对于不需要修改数据的查询语句,大量索引将有助于提高性能。但如果数据表中存在大量索引,则insert、update、delete语句的性能

文档评论(0)

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

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

1亿VIP精品文档

相关文档