Access 2013 数据库管理与应用从新手到高手
上QQ阅读APP看书,第一时间看更新

4.2 创建及使用索引

在Access中,用户可通过创建索引,来加快搜索表和排序表记录的操作速度。

4.2.1 索引概述

使用索引可以帮助Access更快速地查找记录并对其进行排序。

1.了解索引

索引根据自身包含的一个或多个字段来存储记录的位置,它自身比所描述的表小很多,以便于Access能够更有效地进行读取,其具体速度则取决于索引字段的唯一值的数据。

索引的工作方式类似于书籍中索引的工作方式,其中书籍索引是一个包含书中出现的词语的列表,该列表中的每个条目显示了包含特定词语页面的页码,以便用户根据特定词语查找到特定页面,这样一来比翻书查找的速度快多了。

在Access中,索引类似于一个表中出现的字段值的列表,该列表中的每个条目还显示了包含字段值的记录的位置。若要查找某个特定的字段值,使用索引进行查找要比查阅整个表格进行读取的速度快得多。

使用索引可以更快地查找出现次数较少的字段值,表中不同字段值的数量越多,索引对提高搜索和选择查询的性能的帮助就越大。

当Access通过索引获得记录的位置后,可通过直接移动到正确的位置来检索这些记录中的数据。这样一来,使用索引查找数据会比通过扫描表中的所有记录来查找数据快很多。

而在追加、删除或更新数据时,必须更新受影响表中的所有索引以反映当前的数据变化,否则将会影响索引性能。例如,如果用户进行数据更改,则必须同时更改索引,否则索引在查找时将不会显示正确的结果,并且会浪费大量的索引时间。

2.可以创建索引的字段

在Access中,可以根据一个或多个字段来创建索引。在创建索引时,应考虑索引为经常使用的、进行排序的字段,以及在查询中连接到其他表中的字段。

索引可以帮助加快搜索和选择查询的速度,但当用户添加或更新数据时,则会降低索引的性能。如果在包含一个或多个索引字段的表中输入数据,则每次添加或更改记录时,Access都必须更新索引。

其中,表中的数据是自动创建索引的。但是,系统无法为数据类型为“OLE对象”、“附件”或“计算”的字段创建索引。对于其他字段,如果满足以下条件,则可以考虑为字段创建索引。

预期会搜索存储在字段中的值。

预期会对字段中的值进行排序。

预期会在字段中存储许多不同的值。如果字段中的许多值都是相同的,则索引可能无法明显地加快查询速度。

3.多字段索引

当用户经常同时依据两个或多个字段进行搜索或排序时,则可以为该字段组合创建索引。例如,经常在同一个查询中为“供货商”和“产品名称”字段指定条件,则可以在这两个字段上创建多字段索引。

依据多字段索引对表进行排序时,Access会先依据为索引定义的第一个字段进行排序。而创建多字段索引时,需要指定字段的先后次序。

如果在第一个字段中的记录具有重复值,则Access会接着依据为索引定义的第二个字段进行排序,以此类推。在一个多字段索引中,最多可以包含10个字段。

4.2.2 创建索引

要创建索引,需要先决定是创建单字段索引,还是多字段索引。

通过设置【索引】属性可创建单字段索引。下表列出了【索引】属性的可能设置。

如果创建唯一索引,则Access不允许在字段中输入与其他记录同一字段中存在的值。否则,Access会自动为主键创建唯一索引。

1.创建单字段索引

在【导航】窗格中,右击需要创建索引的表,执行【设计视图】命令。

在【设计】视图中,选择需要创建索引的字段,在【常规】选项卡中,单击【索引】下拉按钮,选择相应的选项即可。例如,如果允许重复,则需要选择【有(有重复)】选项,否则选择【有(无重复)】选项,以创建唯一索引。

2.创建多字段索引

在【设计】视图中,执行【表格工具】|【显示/隐藏】|【索引】命令,在弹出的【索引:职工信息】对话框中,将显示【员工编号】主键的索引。

若为表创建多字段索引,则需要在【索引名称】列中输入索引名称,并在【字段名称】列中选择所需要创建索引的字段名称。

添加索引字段后,系统默认的排序次序为升序排列。此时,可以在【索引:职工信息】对话框中的【排序次序】列中,来设置排序次序。

在【索引:职工信息】对话框中的【索引属性】中,可以为【索引名称】列中包含索引名称的行指定索引属性。各索引属性的具体含义,如下表所示。

3.自动创建索引

当用户导入外部数据时,用户可以根据导入的内容添加索引字段,即自动创建索引。

例如,在导入外部的Excel文件中的数据时,可在【导入数据表向导】对话框中,添加索引字段。

然后,执行【文件】|【选项】命令,在【Access选项】对话框中,激活【对象设计器】选项卡,在【导入/创建时自动索引】文本框中编辑索引字段名称,并以分号(;)分隔。

4.2.3 编辑索引

创建索引之后,用户可以随时查看表中的索引字段。另外,还可以将多余的索引删除。

1.查看索引

如果想查看表中的索引,以衡量它们对性能的影响,或者确保为特定的字段创建索引,则需要在【导航】窗格中,右击想要查看索引的表,执行【设计视图】命令,切换到【设计】视图中。

然后,执行【表格工具】|【设计】|【显示/隐藏】|【索引】命令,在弹出的对话框中可以查看该表中的索引。

除此之外,用户还可以在该对话框中,编辑索引及索引属性。

2.删除索引

当用户发现某个索引已变得多余或对性能的影响太大时,则需要删除该索引。在删除索引时,系统只会删除该索引,而不会删除建立索引时所依据的字段。

在【设计】视图中,执行【表格工具】|【设计】|【显示/隐藏】|【索引】命令。在弹出的对话框中,选择需要删除的索引所在的行,按下Delete键即可。