第6章 索引 117 第6章 索 引 本章学习目标 影响 SQL Serv er 性能的因素是多种多样的,其中很重要的一点就是是否有效地设计了索引(index ),一个设计良好的索引可以显著地提高 SQL Serv er 的性能。索引是 SQL Serv er在列上建立的一种数据库对象。它对表中的数据提供逻辑排序,可以提高数据的访问速度。 本章主要对索引的概念和类型以及索引的创建、删除和创建索引时可以用到的选项进行了详细的讲解。学习本章内容后,读者应能够理解索引的概念和创建索引的必要性,了解如何使用向导创建索引,掌握几种索引类型的特点及其适用场合,并能够正确使用 T-SQL 语句创建索引。 学习重点与难点 索引的概念与类型 索引的创建与删除 创建索引时用到的选项 索引的性能 6. 1 索引的概念 要创建索引,首先必须了解其概念,并对创建索引的优缺点和指导原则有一个清楚的了解,否则将会“弄巧成拙”,不但达不到创建索引的目的,而且还会影响系统的性能发挥。 6 .1 .1 什么是索引 当查阅书中某一章节的内容时,为了提高查阅速度,并不是从书的第一页开始顺序查找,而是首先查看书的目录索引,找到需要的这一章节在目录中所列的页码,然后根据这一页码直接找到需要的章节。在数据库中,为了从大量的数据中迅速找到需要的内容,也采用类似于书目录这样的索引技术,使得在执行数据查询时不必扫描整个数据库,就能迅速查到所需要的内容。 索引是根据表中的一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表。 SQL Serv er 的索引记录了表中的关键字,提供了指向表中行的指针。它是一种物理结构,能够提供一种以一列或多列的值为基础迅速查找表中行的能力。 索引是针对一个表而建立的,它是由除存放表的数据页面以外的索引页面组成的。每个索引页面中的行都含有逻辑指针(指向表中的行),以便加速检索物理数据。 索引可以创建在一列或多列的组合上,就像图书馆的书目可以有多种查询方式(比如按作者、按出版社等)一样,也可以在数据库表的多个列上建立不同的索引,至于在什么时候建立索引,建立索引的特点,如何建立索引,稍后会有详述。 6 .1 .2 建立索引的优缺点 在未建立索引的情况下,当我们查询数据时,SQL Serv er 会按表中的存储顺序逐行查询,中文版 SQL Server 2000实用基础教程 118 查看每一行是否符合查询条件。对于小表还可以忍受,而对于一个有着大量...