- 1、本文档共49页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 索引与视图 数据库原理及应用SQL Server 2008数据库原理及应用课件1.ppt
第7章 索引与视图 本章的学习目标: 索引的优点和缺点 聚集索引和非聚集索引的特点 索引的类型 视图的概念、特点和类型 使用CREATE VIEW语句创建视图 通过视图修改基表中的数据 7.1 索引概述 通过创建和设计良好的索引进行数据查询,可以显著提高数据库查询和应用程序的性能,减少磁盘I/O操作,降低系统资源的消耗。 7.1.1 索引的基本概念 数据库系统用下列两种方法之一来访问数据: (1)表扫描,就是指系统将指针放在该表的表头数据所在的数据页上,然后按照数据页的排列顺序,逐页地从前向后扫描该表数据所占有的全部数据页,直至扫描完表中的全部记录。在扫描时,如果找到符合查询条件的记录,那么就将这条记录挑选出来。最后,将全部挑选出来符合查询语句条件的记录显示出来。 (2)使用索引查找。索引是一种树状结构,其中存储了关键字和指向包含关键字所在记录的数据页的指针。当使用索引查找时系统将沿着索引的树状结构,根据索引中关键字和指针找到符合查询条件的记录。最后将全部查找到的符合查询语句条件的记录显示出来。 索引是一种与表或视图关联的物理结构,能提供一种以一列或多列的值为基础迅速查找表中行的能力,用来加快从表或视图中检索数据行的速度 7.1.2 索引的分类 在Microsoft SQL Server 2008 R2系统中有两种基本的索引类型:聚集索引和非聚集索引。除此之外,还有唯一性索引、包含性列索引、索引视图、全文索引及XML索引等。 1.索引文件架构 (1)堆文件 堆是不含聚集索引的表,表中的数据没有任何的顺序。堆结构中数据按照插入的先后次序存放,堆文件的数据页面不一定在物理上相邻。堆文件执行插入操作很容易,但是效率不高。 (2) B+树的总体结构 B+树(Balance树,平衡树)是目前广泛采用的动态文件结构. 在B+树索引中,索引分级组织成一棵树。最上层的索引节点称为根节点,中间节点按照索引数据量分成不同的层次。最下层的索引节点称为叶节点。 .聚集索引 聚集索引是一种数据表的物理顺序与索引顺序相同的索引。 建立索引时,系统将对表的物理数据页中的数据按列进行排列,然后再重新存储到磁盘上,即聚集索引与数据是混为一体的。聚集索引的叶级和非叶级构成了一个特殊类型的B+树结构. 聚集索引的特点如下: (1)表的数据按照索引的数据顺序排列。 (2)每个数据表只能建立一个聚集索引,并且会在第一个建立,常常会在主键所在的列或者最常查询的列上建立聚集索引。 (3)索引将占用用户数据库的空间。 (4)适合范围查询。 非聚集索引 非聚集索引是一种数据表的物理顺序与索引顺序不相同的索引。非聚集索引与聚集索引具有相同的B树结构,但是在非聚集索引中,基础表的数据行不是按照非聚集键的顺序排序和存储,且非聚集索引的叶级是由索引页而不是由数据页组成。 非聚集索引既可以定义在表或视图的聚集索引上,也可以定义在表或视图的堆上。 创建一个非聚集索引时,应该注意下列事项: (1)如果没有指定索引类型,那么默认的类型是非聚集索引。 (2)索引页的叶级只包含索引的关键字,不包含实际的数据 (3)每个表最多可以创建249个非聚集索引。 (4)聚集索引应在非聚集索引被创建之前创建。 (5)唯一性是由叶级维护的。 (6)以下情况发生时,SQL Server会自动重建现有的非聚集索引: 删除现有的聚集索引时 创建聚集索引时 使用DROP_EXISTING选项来改变聚集索引列的定义时 聚集索引上的非聚集索引 当在一个聚集索引上构建非聚集索引时,索引中的指针值就是数据行的聚集索引键值。一旦定位到索引值,SQL Server就使用聚集键导航聚集索引来检索所有需要的列。 唯一索引 唯一索引是指索引值必须是唯一的,不允许数据表中具有两行相同的索引值。 聚集索引和非聚集索引是从索引数据存储的角度来区分的;而唯一索引和非唯一索引是从索引值来区分的,所以唯一索引和非唯一索引既可以是聚集索引,也可以是非聚集索引,只要列中的数据是唯一的,就可以在一张表中创建一个唯一索引和多个非聚集索引。 7.2 索引的操作 7.2.1 创建索引 创建索引的方式可以分为直接方法和间接方法。 直接创建索引的方法就是使用命令和工具直接创建索引。 间接创建索引就是通过创建其他对象而附加创建了索引。 主键约束或唯一性约束创建的索引的优先级高于使用CREATE INDEX语句创建的索引。当在表上定义主键或唯一性约束时,如果表中已经有了使用CREATE INDEX语句创建的标准索引时,那么主键约束或唯一性约束创建的索引覆盖以前创建的标准索引。 1. 直接使用Microsoft SQL Server Management Studio创建索引。 (1)从“开始”菜单上选择“程序”| Microso
文档评论(0)