ch08索引和查询优化

时间:2025-03-11

SQL2008

第8章 索引和查询优化 章本章概述 本章要点 本章内容

2010年11月24日

第1页

SQL2008

本章概述为了加快对表中数据的检索, 为了加快对表中数据的检索,数据库管理系统通 常使用索引技术。索引类似于图书的目录。 常使用索引技术。索引类似于图书的目录。目录 允许用户不必翻阅整本图书就能根据页数迅速找 到所需内容。在数据库中, 到所需内容。在数据库中,索引也允许数据库应 用程序迅速找到表中特定的数据, 用程序迅速找到表中特定的数据,而不必扫描整 个数据库。在图书中, 个数据库。在图书中,目录是内容和相应页码的 列表清单。在数据库中, 列表清单。在数据库中,索引是表中数据和相应 存储位置的列表。 存储位置的列表。 本章详细研究有关索引和查询优化的内容。 本章详细研究有关索引和查询优化的内容。2010年11月24日 第2页

SQL2008

本章要点索引的优点和缺点 堆的结构特点 聚集索引和非聚集索引的特点 索引的类型 使用CREATE INDEX语句创建索引的方式 使用 语句创建索引的方式 索引统计信息的特点和获得方式 查询优化的方式2010年11月24日 第3页

SQL2008

本章内容8.1 8.2 8.3 8.4 8.5 8.6 概述 索引的类型和特点 创建索引 索引维护 查询优化 本章小结

2010年11月24日

第4页

SQL2008

8.1 概述系统中, 在Microsoft SQL Server系统中,可管理的最小 系统中 空间是页。一个页是8KB字节的物理空间。插入 字节的物理空间。 空间是页。一个页是 字节的物理空间 数据的时候, 数据的时候,数据就按照插入的时间顺序被放置 在数据页上。 在数据页上。 一般地, 一般地,放置数据的顺序与数据本身的逻辑关系 之间没有任何联系。因此,从数据之间的逻辑关 之间没有任何联系。因此, 系方面来讲,数据是乱七八糟堆放在一起的。 系方面来讲,数据是乱七八糟堆放在一起的。数 据的这种堆放方式称为堆。 据的这种堆放方式称为堆。当一个数据页上的数 据堆放满之后, 据堆放满之后,数据就得堆放在另外一个数据页 称为页分解。 上,称为页分解。2010年11月24日 第5页

SQL2008

为什么要创建索引呢? 为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。 这是因为,创建索引可以大大提高系统的性能。 第一,创建唯一性索引, 第一,创建唯一性索引,可以保证每一行数据的 唯一性。第二,可以大大加快数据的检索速度。 唯一性。第二,可以大大加快数据的检索速度。 第三,可以加速表和表之间的连接, 第三,可以加速表和表之间的连接,特别是在实 现数据的参考完整性方面特别有意义。第四, 现数据的参考完整性方面特别有意义。第四,

在 使用ORDER BY和GROUP BY子句进行数据检索 使用 和 子句进行数据检索 可以显著减少查询中分组和排序的时间。 时,可以显著减少查询中分组和排序的时间。第 通过使用索引,可以在查询的过程中, 五,通过使用索引,可以在查询的过程中,使用 优化隐藏器,提高系统的性能。 优化隐藏器,提高系统的性能。2010年11月24日 第6页

SQL2008

不利之处这是因为增加索引也有其不利的一面。 这是因为增加索引也有其不利的一面。第 创建索引和维护索引要耗费时间。 一,创建索引和维护索引要耗费时间。第 索引需要占物理空间, 二,索引需要占物理空间,除了数据表占 数据空间之外, 数据空间之外,每一个索引还要占一定的 物理空间,如果要建立聚集索引, 物理空间,如果要建立聚集索引,需要的 空间就会更大。第三, 空间就会更大。第三,对表中的数据进行 增加、删除和修改时, 增加、删除和修改时,索引也要动态地维 这样就降低了数据的维护速度。 护,这样就降低了数据的维护速度。2010年11月24日 第7页

SQL2008

8.2 索引的类型和特点系统中, 在Microsoft SQL Server 2008系统中,有两种 系统中 基本的索引类型:聚集索引和非聚集索引。 基本的索引类型:聚集索引和非聚集索引。除此 之外,还有唯一性索引、包含性列索引、 之外,还有唯一性索引、包含性列索引、索引视 全文索引、 索引等。 图、全文索引、XML索引等。在这些索引类型中, 索引等 在这些索引类型中, 聚集索引和非聚集索引是数据库引擎中索引的基 本类型,是理解唯一性索引、包含性列索引、 本类型,是理解唯一性索引、包含性列索引、索 引视图的基础,本节主要研究这两种索引类型。 引视图的基础,本节主要研究这两种索引类型。 另外,为了更好地理解索引结构, 另外,为了更好地理解索引结构,有必要对堆结 构有所了解。最后, 构有所了解。最后,简单介绍一下系统访问数据 的方式。 的方式。2010年11月24日 第8页

SQL2008

堆堆是不含聚集索引的表, 堆是不含聚集索引的表,表中的数据没有 任何的顺序。 任何的顺序。 堆的信息记录在sys.partitions目录视图中 目录视图中。 堆的信息记录在sys.partitions目录视图中。 每一个堆都可能有多个不同的分区, 每一个堆都可能有多个不同的分区,每一 个分区都有一个堆结构, 个分区都有一个堆结构,每一个分区在 sys.partitions目录视图中都有一行,且 目录视图 …… 此处隐藏:3171字,全部文档内容请下载后查看。喜欢就下载吧 ……

ch08索引和查询优化.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219